Skip to content

Commit

Permalink
Merge pull request #4246 from coollabsio/next
Browse files Browse the repository at this point in the history
v4.0.0-beta.368
  • Loading branch information
andrasbacsai authored Nov 15, 2024
2 parents 9af3fe9 + 09ec4fd commit debab32
Show file tree
Hide file tree
Showing 133 changed files with 12,131 additions and 3,471 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@

/.github export-ignore
CHANGELOG.md export-ignore
.styleci.yml export-ignore
.styleci.yml export-ignore
2 changes: 1 addition & 1 deletion .github/workflows/coolify-production-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
- docker/coolify-helper/Dockerfile
- docker/coolify-realtime/Dockerfile
- docker/testing-host/Dockerfile
- templates/*
- templates/**

env:
GITHUB_REGISTRY: ghcr.io
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coolify-staging-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
- docker/coolify-helper/Dockerfile
- docker/coolify-realtime/Dockerfile
- docker/testing-host/Dockerfile
- templates/*
- templates/**

env:
GITHUB_REGISTRY: ghcr.io
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ scripts/load-test/*
.ignition.json
.env.dusk.local
docker/coolify-realtime/node_modules
.DS_Store
65 changes: 0 additions & 65 deletions .gitpod.yml

This file was deleted.

11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
```
You can find the installation script source [here](./scripts/install.sh).

> [!NOTE]
> Please refer to the [docs](https://coolify.io/docs/installation) for more information about the installation.
# Support

Contact us at [coolify.io/docs/contact](https://coolify.io/docs/contact).
Expand Down Expand Up @@ -121,7 +124,6 @@ By subscribing to the cloud version, you get the Coolify server for the same pri
- Better support
- Less maintenance for you


# Recognitions

<p>
Expand All @@ -138,6 +140,13 @@ By subscribing to the cloud version, you get the Coolify server for the same pri

<a href="https://trendshift.io/repositories/634" target="_blank"><img src="https://trendshift.io/api/badge/repositories/634" alt="coollabsio%2Fcoolify | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>

# Core Maintainers

| Andras Bacsai | Peak |
|------------|------------|
| <img src="https://github.com/andrasbacsai.png" width="200px" alt="Andras Bacsai" /> | <img src="https://github.com/peaklabs-dev.png" width="200px" alt="Peak Labs" /> |
| <a href="https://x.com/heyandras"><img src="https://raw.githubusercontent.com/gauravghongde/social-icons/master/SVG/Color/Twitter.svg" width="25px"></a> <a href="https://github.com/andrasbacsai"><img src="https://raw.githubusercontent.com/gauravghongde/social-icons/master/SVG/Color/Github.svg" width="25px"></a> | <a href="https://x.com/peaklabs_dev"><img src="https://raw.githubusercontent.com/gauravghongde/social-icons/master/SVG/Color/Twitter.svg" width="25px"></a> <a href="https://github.com/peaklabs-dev"><img src="https://raw.githubusercontent.com/gauravghongde/social-icons/master/SVG/Color/Github.svg" width="25px"></a> |

# Repo Activity

![Alt](https://repobeats.axiom.co/api/embed/eab1c8066f9c59d0ad37b76c23ebb5ccac4278ae.svg "Repobeats analytics image")
Expand Down
33 changes: 18 additions & 15 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 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.
This guide outlines the release process for Coolify, intended for developers and those interested in understanding how Coolify releases are managed and deployed.

## Table of Contents
- [Release Process](#release-process)
Expand All @@ -19,30 +19,30 @@ This guide outlines the release process for Coolify, intended for developers and
- Improvements, fixes, and new features are developed on the `next` branch or separate feature branches.

2. **Merging to `main`**
- Once ready, changes are merged from the `next` branch into the `main` branch.
- Once ready, changes are merged from the `next` branch into the `main` branch (via a pull request).

3. **Building the Release**
- After merging to `main`, GitHub Actions automatically builds release images for all architectures and pushes them to the GitHub Container Registry with the version tag and the `latest` tag.
- After merging to `main`, GitHub Actions automatically builds release images for all architectures and pushes them to the GitHub Container Registry and Docker Hub with the specific version tag and the `latest` tag.

4. **Creating a GitHub Release**
- A new GitHub release is manually created with details of the changes made in the version.

5. **Updating the CDN**
- To make a new version publicly available, the version information on the CDN needs to be updated: [https://cdn.coollabs.io/coolify/versions.json](https://cdn.coollabs.io/coolify/versions.json)
- To make a new version publicly available, the version information on the CDN needs to be updated manually. After that the new version number will be available at [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. **The update becomes available only after the CDN is updated.**
> 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. **The update becomes available only after the CDN is updated. After the CDN is updated, a discord announcement will be made in the Production Release channel.**
## Version Types

<details>
<summary><strong>Stable (coming soon)</strong></summary>

- **Stable**
- The production version suitable for stable, production environments (generally recommended).
- **Update Frequency:** Every 2 to 4 weeks, with more frequent possible hotfixes.
- The production version suitable for stable, production environments (recommended).
- **Update Frequency:** Every 2 to 4 weeks, with more frequent possible fixes.
- **Release Size:** Larger but less frequent releases. Multiple nightly versions are consolidated into a single stable release.
- **Versioning Scheme:** Follows semantic versioning (e.g., `v4.0.0`).
- **Versioning Scheme:** Follows semantic versioning (e.g., `v4.0.0`, `4.1.0`, etc.).
- **Installation Command:**
```bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Expand All @@ -57,7 +57,7 @@ This guide outlines the release process for Coolify, intended for developers and
- The latest development version, suitable for testing the latest changes and experimenting with new features.
- **Update Frequency:** Daily or bi-weekly updates.
- **Release Size:** Smaller, more frequent releases.
- **Versioning Scheme:** TO BE DETERMINED
- **Versioning Scheme:** Follows semantic versioning (e.g., `4.1.0-nightly.1`, `4.1.0-nightly.2`, etc.).
- **Installation Command:**
```bash
curl -fsSL https://cdn.coollabs.io/coolify-nightly/install.sh | bash -s next
Expand All @@ -73,11 +73,11 @@ This guide outlines the release process for Coolify, intended for developers and
- **Purpose:** Allows users to test and provide feedback on new features and changes before they become stable.
- **Update Frequency:** Available if we think beta testing is necessary.
- **Release Size:** Same size as stable release as it will become the next stabe release after some time.
- **Versioning Scheme:** Follows semantic versioning (e.g., `4.1.0-beta.1`).
- **Versioning Scheme:** Follows semantic versioning (e.g., `4.1.0-beta.1`, `4.1.0-beta.2`, etc.).
- **Installation Command:**
```bash
```bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
```
```

</details>

Expand Down Expand Up @@ -117,12 +117,15 @@ When a new version is released and a new GitHub release is created, it doesn't i
> [!IMPORTANT]
> The cloud version of Coolify may be several versions behind the latest GitHub releases even if the CDN is updated. This is intentional to ensure stability and reliability for cloud users and Andras will manully update the cloud version when the update is ready.

## Manually Update to Specific Versions
## Manually Update/ Downgrade to Specific Versions

> [!CAUTION]
> Updating to unreleased versions is not recommended and may cause issues. Use at your own risk!
> Updating to unreleased versions is not recommended and can cause issues.

> [!IMPORTANT]
> Downgrading is supported but not recommended and can cause issues because of database migrations and other changes.

To update your Coolify instance to a specific (unreleased) version, use the following command:
To update your Coolify instance to a specific version, use the following command:

```bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash -s <version>
Expand Down
23 changes: 16 additions & 7 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,24 @@

## Supported Versions

Use this section to tell people about which versions of your project are
currently being supported with security updates.
Currently supported, maintained and updated versions:

| Version | Supported |
| ------- | ------------------ |
| > 4 | :white_check_mark: |
| 3 | :x: |
| Version | Supported | Support Status |
| ------- | ------------------ | -------------- |
| 4.x | :white_check_mark: | Active Development & Security Updates |
| < 4.0 | :x: | End of Life (no security updates) |

## Security Updates

We take security seriously. Security updates are released as soon as possible after a vulnerability is discovered and verified.

## Reporting a Vulnerability

If you have any vulnerability please report at hi@coollabs.io
If you discover a security vulnerability, please follow these steps:

1. **DO NOT** disclose the vulnerability publicly.
2. Send a detailed report to: `hi@coollabs.io`.
3. Include in your report:
- A description of the vulnerability
- Steps to reproduce the issue
- Potential impact
37 changes: 37 additions & 0 deletions app/Actions/Application/IsHorizonQueueEmpty.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

namespace App\Actions\Application;

use Laravel\Horizon\Contracts\JobRepository;
use Lorisleiva\Actions\Concerns\AsAction;

class IsHorizonQueueEmpty
{
use AsAction;

public function handle()
{
$hostname = gethostname();
$recent = app(JobRepository::class)->getRecent();
if ($recent) {
$running = $recent->filter(function ($job) use ($hostname) {
$payload = json_decode($job->payload);
$tags = data_get($payload, 'tags');

return $job->status != 'completed' &&
$job->status != 'failed' &&
isset($tags) &&
is_array($tags) &&
in_array('server:'.$hostname, $tags);
});
if ($running->count() > 0) {
echo 'false';

return false;
}
}
echo 'true';

return true;
}
}
66 changes: 0 additions & 66 deletions app/Actions/License/CheckResaleLicense.php

This file was deleted.

2 changes: 1 addition & 1 deletion app/Actions/Server/CleanupDocker.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public function handle(Server $server)
{
$settings = instanceSettings();
$helperImageVersion = data_get($settings, 'helper_version');
$helperImage = config('coolify.helper_image');
$helperImage = config('constants.coolify.helper_image');
$helperImageWithVersion = "$helperImage:$helperImageVersion";

$commands = [
Expand Down
2 changes: 1 addition & 1 deletion app/Actions/Server/InstallDocker.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class InstallDocker

public function handle(Server $server)
{
$dockerVersion = config('constants.docker_install_version');
$dockerVersion = config('constants.docker.minimum_required_version');
$supported_os_type = $server->validateOS();
if (! $supported_os_type) {
throw new \Exception('Server OS type is not supported for automated installation. Please install Docker manually before continuing: <a target="_blank" class="underline" href="https://coolify.io/docs/installation#manually">documentation</a>.');
Expand Down
2 changes: 1 addition & 1 deletion app/Actions/Server/StartLogDrain.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ public function handle(Server $server)
');
$license_key = $server->settings->logdrain_newrelic_license_key;
$base_uri = $server->settings->logdrain_newrelic_base_uri;
$base_path = config('coolify.base_config_path');
$base_path = config('constants.coolify.base_config_path');

$config_path = $base_path.'/log-drains';
$fluent_bit_config = $config_path.'/fluent-bit.conf';
Expand Down
1 change: 0 additions & 1 deletion app/Console/Commands/CleanupRedis.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ class CleanupRedis extends Command

public function handle()
{
echo "Cleanup Redis keys.\n";
$prefix = config('database.redis.options.prefix');

$keys = Redis::connection()->keys('*:laravel*');
Expand Down
1 change: 0 additions & 1 deletion app/Console/Commands/CleanupStuckedResources.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ class CleanupStuckedResources extends Command

public function handle()
{
echo "Running cleanup stucked resources.\n";
$this->cleanup_stucked_resources();
}

Expand Down
Loading

0 comments on commit debab32

Please sign in to comment.