2024-09-11 12:09:15 +00:00
# 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.
2024-09-17 20:28:00 +00:00
## Table of Contents
- [Release Process ](#release-process )
- [Version Types ](#version-types )
2024-09-18 15:15:39 +00:00
- [Stable ](#stable )
- [Nightly ](#nightly )
- [Beta ](#beta )
2024-09-17 20:28:00 +00:00
- [Version Availability ](#version-availability )
2024-09-18 15:15:39 +00:00
- [Self-Hosted ](#self-hosted )
- [Cloud ](#cloud )
2024-09-17 20:28:00 +00:00
- [Manually Update to Specific Versions ](#manually-update-to-specific-versions )
2024-09-11 12:09:15 +00:00
## Release Process
2024-09-18 15:15:39 +00:00
1. **Development on `next` or Feature Branches**
- Develop changes, fixes, and new features on the `next` branch or separate feature branches.
2024-09-11 12:09:15 +00:00
2. **Merging to `main`**
2024-09-18 15:15:39 +00:00
- Once changes are ready, merge them from `next` into the `main` branch.
2024-09-11 12:09:15 +00:00
2024-09-18 15:15:39 +00:00
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.
2024-09-11 12:09:15 +00:00
2024-09-18 15:15:39 +00:00
4. **Creating a GitHub Release**
- Create a new release on GitHub with the updated version details.
2024-09-11 12:09:15 +00:00
5. **Updating the CDN**
2024-09-18 15:15:39 +00:00
- Update the version information on the CDN:
2024-09-11 12:09:15 +00:00
[https://cdn.coollabs.io/coolify/versions.json ](https://cdn.coollabs.io/coolify/versions.json )
> [!NOTE]
2024-09-18 15:15:39 +00:00
> 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.
2024-09-11 12:09:15 +00:00
2024-09-17 20:28:00 +00:00
## Version Types
2024-09-18 15:15:39 +00:00
< details >
< summary > < strong > Stable< / strong > < / summary >
- **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
```
< / details >
< details >
< summary > < strong > Nightly< / strong > < / summary >
- **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
```
2024-09-17 20:28:00 +00:00
2024-09-17 21:01:56 +00:00
> [!WARNING]
> Do not use nightly builds in production as there is no guarantee of stability.
2024-09-18 15:15:39 +00:00
< / details >
< details >
< summary > < strong > Beta< / strong > < / summary >
- **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
```
< / details >
2024-09-17 20:28:00 +00:00
2024-09-11 12:09:15 +00:00
## Version Availability
2024-09-18 15:15:39 +00:00
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.
2024-09-11 12:09:15 +00:00
2024-09-17 20:28:00 +00:00
### Self-Hosted
2024-09-18 15:15:39 +00:00
- **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
```
2024-09-17 20:28:00 +00:00
2024-09-17 21:01:56 +00:00
> [!IMPORTANT]
2024-09-18 15:15:39 +00:00
> 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.
2024-09-17 20:28:00 +00:00
### Cloud
2024-09-18 15:15:39 +00:00
- **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.
2024-09-11 12:09:15 +00:00
> [!IMPORTANT]
2024-09-18 15:15:39 +00:00
> 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.
2024-09-11 12:09:15 +00:00
2024-09-11 12:18:10 +00:00
## Manually Update to Specific Versions
2024-09-11 12:09:15 +00:00
2024-09-11 12:16:25 +00:00
> [!CAUTION]
2024-09-11 12:09:15 +00:00
> 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:
2024-09-18 15:15:39 +00:00
2024-09-17 21:01:56 +00:00
```bash
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` ).