4.8 KiB
Coolify Release Guide
This guide outlines the release process for Coolify, intended for developers and those interested in understanding how releases are managed and deployed.
Table of Contents
Release Process
-
Development on
next
or Feature Branches- Develop changes, fixes, and new features on the
next
branch or separate feature branches.
- Develop changes, fixes, and new features on the
-
Merging to
main
- Once changes are ready, merge them from
next
into themain
branch.
- Once changes are ready, merge them from
-
Building the Release
- After merging to
main
, initiate the build process for a new release. - Note: Pushing to
main
does not automatically trigger a new version release.
- After merging to
-
Creating a GitHub Release
- Create a new release on GitHub with the updated version details.
-
Updating the CDN
- Update the version information on the CDN: https://cdn.coollabs.io/coolify/versions.json
Note
The CDN update may not occur immediately after the GitHub release. It can take hours or even days due to additional testing, stability checks, or potential hotfixes.
Version Types
Stable
- Stable (v4.0.0) (Coming Soon)
- The production version suitable for stable, production environments.
- Update Frequency: Every 2 to 4 weeks, with possible hotfixes.
- Release Size: Larger but less frequent releases. Multiple nightly versions consolidate into a single stable release.
- Versioning Scheme: Follows semantic versioning (e.g.,
v4.0.0
). - Installation Command:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Nightly
- Nightly
- Features frequent updates, potentially weekly or even daily.
- Update Frequency: Very high; ideal for testing the latest changes.
- Versioning Scheme: [To be added]
- Installation Command:
curl -fsSL https://cdn.coollabs.io/coolify-nightly/install.sh | bash -s next
Warning
Do not use nightly builds in production as there is no guarantee of stability.
Beta
- Beta
- Test releases for the upcoming stable version or new features.
- Purpose: Allows users to test and provide feedback on new features before they become stable.
- Versioning Scheme: [To be added]
- Installation Command:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Version Availability
When a new version is released and a new GitHub release is created, it does not immediately become available for your instance. Below is information on version availability for different instance types.
Self-Hosted
- Update Frequency: Faster and more frequent updates, especially on the nightly release channel.
- Update Methods:
- Manual Update in Instance Settings:
- Navigate to
Settings > Update Check Frequency
and click the "Check Manually" button. - An upgrade button will appear on the sidebar page if an update is available.
- Navigate to
- Automatic Update:
- If auto-update is enabled, the instance will update automatically.
- Re-run Installation Script:
- Execute the installation script to automatically upgrade to the latest version available on the CDN.
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
- Manual Update in Instance Settings:
Important
If a new release is available on GitHub but your instance hasn't updated, the CDN might not have been updated yet. This delay ensures stability and allows for hotfixes before official release.
Cloud
- Update Frequency: Less frequent, focusing on stability with manually tested versions.
- Update Process:
- Updates are managed by @andrasbacsai, who ensures that each cloud version is thoroughly tested and stable before release.
Important
If a new GitHub release exists but the cloud version hasn't been updated, it's because @andrasbacsai hasn't released it yet. This ensures the cloud version remains stable. You'll need to wait for the update.
Manually Update to Specific Versions
Caution
Updating to unreleased versions is not recommended and may cause issues. Use at your own risk!
To update your Coolify instance to a specific (unreleased) version, use the following command:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash -s <version>
-> Replace <version>
with the version you want to update to (for example 4.0.0-beta.332
).