Skip the pre-stop pull when a custom build command runs without a build server, and pull only services whose image does not come from a build, including services that reuse the image of a build service.
Closes#11773
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Image CDN URL help text said an empty value uses the S3 endpoint.
Since #11865, an empty value serves profile pictures and project icons
through Coolify, because private buckets and Cloudflare R2 reject
anonymous browser requests (#11806).
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>
Hatchet leaves new signups unverified unless SMTP is set up, which
blocked users after signup. Default SERVER_AUTH_SET_EMAIL_VERIFIED to
true so operators can still opt out.
DATABASE_URL used $POSTGRES_DB without a default, so fresh deploys
connected to a database named after the user and the migration failed.
Also align setup-config volume names with the other services.
Closes#12106
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The mc release in coolify-helper 1.0.17 panics on `mc pipe --quiet`.
Drop the flag and keep the progress bar out of failure messages by
printing only real errors and the last progress frame.
Closes#11995
The docblocks for reapOrphan and removeMultiplexFile now name
SSH_MUX_ORPHAN_REAP_ENABLED as the flag behind the dry-run default.
Operators can see which setting turns on real reaping.
rabbitmq-diagnostics ping succeeds before the AMQP listener on 5672
is open, so dependent services started too early and failed with
connection refused. Use check_port_connectivity with a start period
in the hatchet, plane, rabbitmq and mautic5 templates.
Closes#12105
validateOS matched only ID from /etc/os-release, so derivatives such as
Omarchy, CachyOS, Manjaro or Linux Mint failed validation before the
Docker checks ran. Check ID first, then each ID_LIKE entry, and keep the
exactly-one-match rule. Move the parsing into a testable function.
Closes#12033
Co-authored-by: Furox <177975472+Furox-Art@users.noreply.github.com>
Remove the explicit 10-second timeout from the cloudflared health check so
it uses the default remote process timeout. Add a feature test confirming
the health check runs with sudo on non-root servers, and that the server is
marked as using a Cloudflare tunnel with its IP set to the SSH domain.
The repository URL rule rejected ssh://user@host:port/path, so deploy-key
resources on servers with a custom SSH port needed a manual URL edit after
creation. Accept ssh:// URLs and keep them unchanged for deploy keys so the
port reaches the clone. Rename scpStyleGitUrlToHttps to sshGitUrlToHttps and
let it convert ssh:// URLs too, so public flows, repository links and GitHub
App repository slugs handle them.
Closes#12161
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Remove old helper, realtime and sentinel images by name with --format
instead of parsing the default table, which changed in Docker 29. Also
remove unused images pulled by digest.
Closes#12148
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GitHub reports team-granted and private org members as CONTRIBUTOR or
NONE, so their same-repository PRs were silently skipped when public PR
deployments were off. A same-repository branch already requires push
access, so gate only on fork status, treat an unknown head repository as
a fork, and log skipped fork PRs.
Closes#9271
Retry the installation token request on GitHub 5xx and connection errors,
and report the HTTP status when GitHub sends no error message. Retry the
repository import when SSH drops the connection (exit code 255), after
stopping the interrupted clone and removing the partial checkout.
Closes#8004
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CheckHelperImageJob now logs a warning and returns when the versions
endpoint fails instead of sending an internal notification and
rethrowing. The next scheduled run retries. PullTemplatesFromCDN also
no longer sends internal notifications on non-success responses or
exceptions; it still logs them.
Add tests checking that the stored helper version is kept and that no
notification is sent when the CDN is unavailable.
- Fetch every page of pull request files so watch paths match PRs with more than 30 files.
- Deploy the preview and log a warning when the changed-file list is unknown (API error or truncated compare list).
- Log when watch paths decline a preview deployment.
- Keep the GitHub App installation token in memory per instance, so a deployment requests one token instead of 3-5.
Closes#12169
Instance backup settings, started ClickHouse/KeyDB/Dragonfly databases,
and destinations saved read-only fields back to the database, so a
password manager autofill could overwrite stored credentials.
Closes#12173
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>