299 Commits
Author SHA1 Message Date
Andras Bacsai 57a839f5a0 chore(versions): bump sentinel images to 1.1.3 2026-10-27 14:30:56 +01:00
Andras Bacsai 1a2a5362ad fix(security): secure remote command secrets and clone volume data 2026-10-27 09:47:18 +01:00
Andras Bacsai 8bd78b3484 fix(realtime): remove orphaned legacy containers with zero replicas
Replace the inactive Soketi profile with a zero-replica placeholder so Compose
removes old coolify-realtime containers. Update packaging tests to verify the
merged service configuration.
2026-10-26 12:59:01 +01:00
Andras Bacsai 5d66fb719e fix(registration): time-limit first root account creation
Open root registration for ten minutes after startup, then require a Coolify restart to reopen it. Update installer credential handling and explain the setup window in the registration UI.
2026-10-26 10:49:19 +01:00
Andras BacsaiandClaude Opus 5.5 1e4431f53d fix(helper): verify download checksums and update bundled tools
Pin every helper download by SHA256 and the base images by digest, drop
the curl | bash installers, and add scripts/helper-checksums to refresh
the checksums. Update Alpine to 3.24, Docker CLI 29.9.2, Compose 5.6.1,
Buildx 0.38.1, pack 0.40.10, Railpack 0.43.0, and mise 2026.10.14.
Bump the helper to 1.0.19.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 23:19:08 +02:00
Andras BacsaiandClaude Opus 5.5 d37b7356e7 fix(install): quote root user credentials in the .env file
ROOT_USERNAME with a space (or a password with #, $ or quotes) was written
unquoted, so phpdotenv failed to parse .env and Coolify returned HTTP 500.

Closes #12276

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:20:31 +02:00
Andras BacsaiandClaude Opus 5.5 54c930d8dd fix(install): keep operator SSH keys that mention coolify
On a fresh install, install.sh removed every authorized_keys line that
contained "coolify", including unrelated operator keys such as one
commented "coolify-disposable". Remove only lines whose comment is
exactly "coolify", the comment of the installer's own key.

Closes #12278

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:20:05 +02:00
Andras Bacsai 16222f3588 chore(release): bump version to 4.5.1 and refine search styling 2026-10-23 19:48:39 +02:00
Andras Bacsai debde16c9d chore(versions): bump Coolify and helper release versions 2026-10-23 12:49:34 +02:00
Andras BacsaiandClaude Opus 5.5 a90be6aa93 chore(versions): bump Traefik to 3.7.16 and 2.11.60
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 12:11:15 +02:00
Andras Bacsai e9f69ce95b Merge remote-tracking branch 'origin/main' into fix/secret-manager-request-timeout 2026-10-21 16:23:00 +02:00
🏔️ Peak ff642008f1 fix(security): releease v4.4.7 (#12257) 2026-10-21 16:18:27 +02:00
peaklabs-dev 4b11e0b97e chore(release): bump version to 4.4.7 2026-10-21 15:50:33 +02:00
peaklabs-dev 19d1014e2b fix(sentinel): bump Sentinel to 1.1.2 2026-10-21 15:50:33 +02:00
peaklabs-dev 0364f01fe9 fix(sentinel): bump Sentinel to 1.1.2 2026-10-21 14:20:51 +02:00
Andras Bacsai 8742d0014a chore(versions): bump Sentinel images to 1.1.2 2026-10-21 13:56:23 +02:00
Andras Bacsai 420692c020 fix(upgrade): keep Coolify running when Docker reports IPv6 gateways with a prefix
Docker Engine 27.0 to 28.0.0 reports an IPv6 network gateway with its
prefix length (fd00::1/64) until the daemon restarts (moby/moby#49520).
The Docker CLI 29 and Compose 5 in the helper image reject it, so
deployments failed and the upgrade left Coolify stopped.

- Stop the upgrade before it changes containers when the coolify network
  has such a gateway, and tell the user to restart or upgrade Docker.
- Create a new coolify network again without IPv6 when Docker reports
  its gateway with a prefix.
- Report an error, not "Upgrade complete", when the new Coolify
  containers do not start.
- Add the fix to deployment errors that contain this ParseAddr failure.

Fixes #11583
2026-10-16 21:19:35 +02:00
Andras BacsaiandClaude Opus 5.5 69e448dac9 fix(installer): do not restart Docker with running containers
Merge log rotation and the network pool into the existing daemon.json
instead of overwriting it. Skip the change and the Docker restart when
containers are running, unless DOCKER_POOL_FORCE_OVERRIDE=true.

Closes #11221

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 21:10:35 +02:00
Andras BacsaiandClaude Opus 5.5 97f451cc2a fix(installer): change data directories only after checks and downloads
install.sh created the resource directories and ran chown -R and
chmod -R on source, ssh, and images before step 1. When a check or a
CDN download failed, the changed owners and modes stayed although
nothing was installed.

Create only /data/coolify and source (for the log and the downloads)
at the start. Create the other directories and set the permissions in
the SSH key step, after the checks and downloads succeed.

Closes #11973

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 00:09:47 +02:00
Andras Bacsai 12fd9e448b fix(upgrade): retry rate limited image pulls and spread auto updates
Closes #11890
2026-10-15 23:36:47 +02:00
Andras Bacsai f55efc859d fix(docker): pin PHP base image to prevent startup failures
Pin development and production images to serversideup PHP v4.5.1 to
avoid the v5 user-bundle relocation that breaks startup.

Bump Coolify to 4.4.6 in the default config and version manifests.
2026-10-09 20:36:48 +02:00
Andras Bacsai 5246427b03 fix(upgrade): remove disk space checks that block Coolify updates 2026-10-09 20:03:49 +02:00
Andras Bacsai d07bc9c0ff fix(docker): preserve resource containers during cleanup 2026-10-09 08:22:08 +02:00
Andras Bacsai 5db069109a chore(release): bump Coolify version to 4.4.3 2026-10-07 16:48:01 +02:00
Andras Bacsai 49b954efa2 chore(versions): bump coolify to 4.4.2 2026-10-07 12:20:24 +02:00
Andras Bacsai cd70dbf03a chore(versions): bump sentinel to 1.0.2 and pin sentinel-host image 2026-10-06 22:42:59 +02:00
Andras Bacsai be72005980 fix(deployments): expire missing Horizon jobs after deployment timeout
Keep reserved jobs active and bound missing Horizon records by the server's
 deployment timeout. Add regression coverage for active and finished jobs.

Use UTC PostgreSQL sessions and bump the release version to 4.4.1.
2026-10-06 21:51:58 +02:00
Andras Bacsai e79347295a fix(compose): allow upgrades with legacy soketi overrides
Add an inactive soketi placeholder to production and nightly Compose
files so old custom overrides remain valid without starting soketi.
Cover partial and full legacy overrides with regression tests.
2026-10-06 11:29:33 +02:00
Andras Bacsai 4e4659dad7 chore(nightly): point v4 version in nightly versions.json to main
Replace the pinned 4.4.0 v4 version with "main" so nightly builds
track the main branch instead of a fixed release.
2026-10-02 16:02:11 +02:00
Andras BacsaiandClaude Opus 5.5 8106cb7cfa chore(nightly): sync nightly install and upgrade scripts with the root scripts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:01:25 +02:00
Andras Bacsai e8337c73eb chore(release): set the version to 4.4.0
The release workflow only accepts vX.Y.Z tags that match the config version.
The nightly versions.json now matches versions.json, as the workflow test
requires.
2026-09-30 19:23:35 +02:00
Andras Bacsai e7465000b3 fix(api): key unauthenticated rate limits by Cloudflare client IP
Use auth_rate_limit_ip() rather than $request->ip() for the api, 5 and
feedback rate limiters. On cloud, each client behind Cloudflare now gets
its own bucket instead of sharing the proxy's bucket. Self-hosted
instances ignore the CF-Connecting-IP header.

Add feature tests for per-client sentinel push buckets on cloud and for
ignoring the header on self-hosted.

Add scripts/restore-backup-vm.sh, which restores an instance backup into
an offline KVM VM to test database migrations. Bump the v4 version in
other/nightly/versions.json to sha-1e9add3.
2026-09-29 13:06:44 +02:00
Andras Bacsai 65262e639e fix(installer): keep resource data ownership on reinstall and upgrade
install.sh ran chown -R 9999:root and chmod -R 700 on all of
/data/coolify on every run. This changed bind-mounted data of services,
applications, and databases, and reset the ownership that a non-root
SSH user needs.

Set owner and mode on /data/coolify and the resource directories only
when the installer creates them. Change only source, ssh, and images
recursively, because the coolify container uses them.

Also wait until the Docker daemon accepts connections after a restart,
because OpenRC returns before the daemon is ready.

Fixes #11945
2026-09-29 10:37:54 +02:00
Andras Bacsai 554b79e8dd feat: add Traefik ACME cert UI and shared managed DNS record ownership
- Proxy: list and delete Traefik ACME certificates from the server proxy
  page via new TraefikAcmeService and Get/DeleteTraefikCertificate actions
- DNS: track ownership and cross-resource references for managed DNS
  records so records are only deleted when no longer referenced; release
  records asynchronously on resource deletion via ReleaseManagedDnsRecordsJob
  and ManagedDnsRecordCleanup; harden Cloudflare provider deletion results
- Databases: fail closed on start when prerequisites or the CA certificate
  are missing (DatabaseStartException, Server::ensureCaCertificate) and
  clean up stale start activities via ResourceStartActivity
- Webhooks: throttle repeated manual webhook signature failures for
  GitHub, GitLab, Gitea and Bitbucket
- Deployments: improve compose build-context handling and compose file
  load error reporting
- Install scripts: rework terminal UI output in install.sh (stable and
  nightly)
- Misc: settings sidebar accordion fixes, log drain toggle rollback,
  add Serverside to README sponsors
- Add migrations and tests covering the above
2026-09-25 19:00:00 +02:00
Andras Bacsai 0f41b8e6d9 fix(realtime): preserve proxy routing and browser port settings
Keep the coolify-realtime network alias for existing proxy upstreams, stop overriding PUSHER_PORT, and bind the terminal to port 6002 across production and Windows Compose files. Add regression coverage for these settings.
2026-09-25 08:24:35 +02:00
Andras Bacsai 97b6203fe1 fix(reverb): route broadcasts through bundled server and validate health 2026-09-22 10:14:32 +02:00
Andras Bacsai e3ab63e7d8 fix(reverb): align ports, host validation, and dev instance tooling 2026-09-22 09:58:28 +02:00
Andras Bacsai 3ce4209a2f fix(reverb): separate public Soketi port from internal Reverb port
Use SOKETI_PORT for Docker host bindings, keep Reverb on port 6001 internally, and stop install/upgrade scripts from overwriting public websocket port overrides.
2026-09-21 21:46:26 +02:00
Andras Bacsai 67dd34bce7 Merge remote-tracking branch 'origin/next' into reverb-realtime-migration 2026-09-21 21:32:19 +02:00
Andras Bacsai 9db93347ed chore(release): bump Coolify and realtime versions
Set the stable Coolify version to 4.4, nightly to 4.5-rc.1, and realtime to 1.0.20.
2026-09-21 12:59:55 +02:00
Andras Bacsai e2e2d4010b fix(deployments): trim remote command outputs before processing
Normalize saved command output for reliable status and metadata handling, and bump the Coolify version to 4.3.23.
2026-09-18 15:34:50 +02:00
Andras Bacsai 16b092336e feat(sentinel): track synchronization state and refresh status UI
Add sentinel waiting-state tracking, synchronization broadcasts, and restore
status handling across server and application interfaces.
2026-09-16 12:51:27 +02:00
Andras Bacsai ab30f95ad9 feat(restarts): make resource restart limits opt-in
Default restart limits to zero for applications, previews, and services, and bump the Coolify version to 4.3.21.
2026-09-15 12:58:59 +02:00
Andras Bacsai 596cb39849 chore(traefik): update supported image versions 2026-09-15 10:14:03 +02:00
Andras Bacsai 246b2cfe0a chore(release): bump Coolify version to 4.3.20 2026-09-14 17:01:53 +02:00
Andras Bacsai 9b07be2d68 chore(helper): bump helper version to 1.0.17 2026-09-14 13:36:46 +02:00
Andras Bacsai 33f453912a chore(sentinel): bump sentinel version from 0.0.22 to 1.0.1 2026-09-10 17:41:29 +02:00
Andras Bacsai 4a3dc11958 feat(ui): polish env editor, error buttons, and modal layout 2026-09-08 11:49:02 +02:00
Andras Bacsai dba3d114e5 chore(release): bump Coolify version to 4.3.18 2026-09-04 18:09:53 +02:00
Andras Bacsai d0b77b2637 chore(release): bump Coolify version to 4.3.17 2026-09-03 21:51:53 +02:00