190 Commits
Author SHA1 Message Date
peaklabs-dev bcd165a909 feat(install): add --preview and --nightly flags to install.sh
- Once Coolify is healthy, install.sh switches the instance to that update channel with php artisan app:update-channel
- The command and the update page share the rule that keeps the updates of the old channel after a switch to a more stable one
2026-11-02 00:07:20 +01:00
peaklabs-dev 0e30950793 feat(release): streamline versions.json on the CDN
- Every channel has a block of its own, every version after this one reads only these blocks
- Every stable sync also fills the coolify and traefik keys older instances read
- An instance keeps a copy of versions.json and reads upstream.json of the image until it has one
2026-11-02 00:07:20 +01:00
peaklabs-dev 911e68ab27 feat(release): add release.json and upstream.json
- config/constants.php reads the Coolify and helper versions from them
- The image and sync-cdn.sh write versions.json from upstream.json, install.sh reads it by key
2026-11-01 15:15:33 +01:00
fe6c73726d chore: merge main into next (#12344)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Aditya Tripathi <aditya@climactic.co>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:25:53 +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 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 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 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 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 e3ff6bef07 Merge remote-tracking branch 'origin/next' into reverb-realtime-migration 2026-08-18 19:56:33 +02:00
Andras Bacsai a5dedc07cd feat(storage): persist local images and unify clipboard copying
Add a private images disk with persistent container mounts and installation/upgrade setup, while routing avatar and project icon storage through it. Reuse the copy button component for API tokens and support clipboard copying through the shared helper.
2026-08-17 16:19:41 +02:00
TehBrian 61a2b183d3 fix(installer): minor grammatical error (#9209) 2026-08-10 18:42:56 +02:00
Andras Bacsai 525ab50280 chore(install): remove obsolete realtime version output 2026-07-14 15:13:31 +02:00
Andras Bacsai f6d06fc95c Merge remote-tracking branch 'origin/next' into reverb-realtime-migration 2026-07-14 14:23:42 +02:00
Andras Bacsai cf6f5a2678 feat(registry): add configurable docker registry url (#9017) 2026-07-02 18:52:46 +02:00
Andras Bacsai 3a49baad19 feat(realtime): replace Soketi image with bundled Reverb
Run Laravel Reverb and the terminal server inside the Coolify container instead of shipping a separate coolify-realtime image. Update compose files, proxy routing, cleanup behavior, and packaging tests for the embedded realtime services.
2026-06-03 15:43:20 +02:00
Andras Bacsai 08735e6cc8 feat(postgres): add internal database upgrade script
Publish upgrade-postgres.sh with install and upgrade flows, include the
PostgreSQL compose override when present, and sync the script to BunnyCDN.
2026-06-03 14:27:01 +02:00
Andras Bacsai 16d9c02e73 fix(install): use Rocky Linux RHEL Docker repository
Add a Rocky-specific Docker install path to the stable and nightly install scripts, using Docker's documented RHEL repository flow. Include a unit test to lock in the Rocky repo selection and command set.
2026-04-14 10:31:01 +02:00
Andras Bacsai 534b8be8d0 refactor(docker): simplify installation and remove version pinning
- Remove hardcoded Docker version constraints (27.0 → latest)
- Use official Docker install script (get.docker.com) instead of rancher URLs
- Simplify installation logic by removing nested version fallback checks
- Consolidate OS-specific installation methods and improve Arch Linux upgrade handling
2026-03-24 14:17:05 +01:00
peaklabs-dev 86ffe196e0 feat(installer): add tencentos as a supported os 2026-02-03 21:53:01 +01:00
Hendra Manudinata 787468f73c feat(install): add postmarketos to the supported distributions (#6909) 2026-01-04 19:07:00 +01:00
Andras Bacsai 51f1be2995 Enhance upgrade and installation scripts with logging and status tracking
- Added logging functionality to `upgrade.sh` for better tracking of upgrade steps and errors.
- Implemented a status file mechanism in `upgrade.sh` for API polling during upgrades.
- Improved error handling and user feedback in `upgrade.sh` and `install.sh`.
- Download configuration files in parallel in `install.sh` to speed up the installation process.
- Updated versions in `versions.json` for Coolify and Traefik.
- Enhanced environment variable checks and updates in `install.sh`.
- Added health checks for the Coolify container post-installation.
2025-12-17 11:01:59 +01:00
Andras Bacsai bf9f78538e Remove webhook maintenance directory from Docker configurations 2025-12-04 14:55:07 +01:00
Andras BacsaiandClaude 727c45a7dc fix: add -L flag to curl commands for CDN redirects
Fixes issue #7348 where curl fails to follow HTTP 302 redirects from the CDN
when fetching versions.json and docker-compose files. The -L flag instructs
curl to automatically follow redirects to the final destination URL, resolving
silent installation failures.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 12:57:03 +01:00
Andras Bacsai 12c7e28a48 fix(install): ensure proper quoting of environment file paths to prevent issues with spaces 2025-09-25 11:45:07 +02:00
Andras Bacsaiandcoderabbitai[bot] cf1c54b24c Update scripts/install.sh
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-24 13:14:27 +02:00
Andras Bacsaiandcoderabbitai[bot] febeb00e48 Update scripts/install.sh
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-24 13:14:18 +02:00
peaklabs-dev 983197b742 chore: adjust wording 2025-08-29 18:42:46 +02:00
peaklabs-dev 5b637c1de1 refactor(installer): improve install script
- remove unused VERSION variable.
- fix the source code link of the install script.
- properly back up the `.env` file on each run of the install script.
- do not delete the backup .env file at the end of the install script.
- Add improved handling and more logging for updating environment variable values.
2025-08-29 15:26:28 +02:00
peaklabs-dev d4fcafe4d3 fix(installer): public IPv4 link does not work 2025-07-18 16:37:58 +02:00
Andras Bacsai a7aac19267 Merge pull request #6127 from flickowoa/patch-1
interpret cachyos as arch in the install script
2025-07-07 10:35:42 +02:00
Diego Rodríguez 2733aeb092 fix(install.sh): use IPV4_PUBLIC_IP variable in output instead of repeated curl 2025-07-04 15:16:01 +02:00
flicko 3b3090650f support cachyos 2025-07-04 15:06:49 +05:30
Andras Bacsai 5c3196f6c9 Fine tunes for v419 (#5995)
* chore(version): update coolify-realtime to version 1.0.9 in docker-compose and versions files

* feat(migration): add is_sentinel_enabled column to server_settings with default true

* fix(migration): update default value handling for is_sentinel_enabled column in server_settings

* feat(seeder): dispatch StartProxy action for each server in ProductionSeeder

* feat(seeder): add CheckAndStartSentinelJob dispatch for each server in ProductionSeeder
2025-06-16 15:19:38 +02:00
Andras Bacsai 8191f9176f fix(install): update Docker installation script to use dynamic OS_TYPE and correct installation URL 2025-06-10 10:47:50 +02:00
Andras Bacsai 746a801de7 refactor(install-scripts): update Docker installation process to include manual installation fallback and improve error handling 2025-06-04 20:38:53 +02:00
Andras Bacsai c26209f187 refactor(nightly): update version numbers and enhance upgrade script 2025-03-27 10:47:08 +01:00
Andras Bacsai bc297c4296 refactor(network): enhance docker network creation with ipv6 fallback 2025-03-25 11:27:59 +01:00
Andras Bacsai 1fcfac07b1 refactor(env): add centralized registry URL to environment configuration 2025-03-25 09:03:59 +01:00
Andras Bacsai cef4596011 fix(console): handle missing root user in password reset command 2025-03-24 18:00:31 +01:00
Andras Bacsai 009cee1bbd Merge branch 'next' into feat-db-ssl 2025-03-17 15:15:24 +01:00
Andras Bacsai b6cb32c037 fix(install): handle potential errors in Docker address pool configuration 2025-03-14 15:23:17 +01:00
Andras Bacsai 9dbe221ad5 refactor(install): clean up install script and enhance Docker installation logic
Refactored the install script to improve readability by removing unnecessary whitespace and consolidating Docker installation logic into a dedicated function. This change enhances maintainability and clarity, particularly for the installation process across different operating systems. Additionally, the script now includes specific handling for Ubuntu 24.10, ensuring users receive appropriate guidance for installation. Overall, these updates contribute to a more streamlined and user-friendly installation experience.
2025-03-14 13:20:45 +01:00
Andras Bacsai 815a2701fc feat(install): add missing env variable to install script 2025-03-13 18:10:57 +01:00
Andras Bacsai d0b8a20564 feat(install): improve Docker address pool management and service restart logic
Enhanced the install script to support a force override for Docker address pool configurations, allowing users to update existing settings if desired. The script now checks for existing configurations in the daemon.json file and provides clearer messaging regarding the use of custom pools versus existing configurations. Additionally, the restart logic for the Docker service has been streamlined, ensuring that unnecessary restarts are avoided when configurations remain unchanged. This update improves the flexibility and usability of the installation process.
2025-03-13 10:47:27 +01:00
Andras Bacsai 46f55c9463 feat(install): enhance Docker address pool configuration and validation
Updated the install scripts to include support for custom Docker address pool configurations via environment variables. Added validation for the address pool base and size, with default values provided. The script now checks for existing configurations in the .env file and merges them appropriately, ensuring a more flexible and user-friendly installation process. Additionally, the version has been bumped to 1.8 to reflect these enhancements.
2025-03-13 08:44:04 +01:00
Gergely Lonyai bc2e4a8049 Update install.sh 2025-03-10 10:58:52 +01:00