# 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](#release-process) - [Version Types](#version-types) - [Stable](#stable) - [Nightly](#nightly) - [Beta](#beta) - [Version Availability](#version-availability) - [Self-Hosted](#self-hosted) - [Cloud](#cloud) - [Manually Update to Specific Versions](#manually-update-to-specific-versions) ## Release Process 1. **Development on `next` or Feature Branches** - Develop changes, fixes, and new features on the `next` branch or separate feature branches. 2. **Merging to `main`** - Once changes are ready, merge them from `next` into the `main` branch. 3. **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. 4. **Creating a GitHub Release** - Create a new release on GitHub with the updated version details. 5. **Updating the CDN** - Update the version information on the CDN: [https://cdn.coollabs.io/coolify/versions.json](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:** ```bash 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:** ```bash 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:** ```bash 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:** 1. **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. 2. **Automatic Update:** - If auto-update is enabled, the instance will update automatically. 3. **Re-run Installation Script:** - Execute the installation script to automatically upgrade to the latest version available on the CDN. ```bash curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash ``` > [!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: ```bash curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash -s ``` -> Replace `` with the version you want to update to (for example `4.0.0-beta.332`).