Commit Graph
18636 Commits
Author SHA1 Message Date
Andras BacsaiandClaude Opus 5.5 ed03a31b3a fix(server): keep ip and user as strings after save
Closes #12444

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:52:35 +01:00
peaklabs-dev 19f82b6e07 Merge branch 'main' of https://github.com/coollabsio/coolify 2026-11-03 17:44:38 +01:00
peaklabs-dev c42222a881 refactor(scripts): move the manifest types to a variable
- rename kept_manifests to manifests_of_kept_tags
2026-11-03 17:41:57 +01:00
peaklabs-dev 75f0ad7459 feat(scripts): use the undocumented docker.io endpoint only for untagged manifests
- read the docker.io tags from the documented tags API
- check that docker.io still has a manifest before deleting it, docker.io also answers 202 to the deletion of a missing manifest
- count every manifest in --delete
2026-11-03 17:41:33 +01:00
peaklabs-dev ef88ea07da ci: disable the manifest cleanup after a failed run 2026-11-03 17:41:10 +01:00
peaklabs-dev 1a888610ad fix(scripts): delete the docker.io manifests deleted on ghcr.io
- a run can stop after the deletion on ghcr.io and before the one on docker.io, so every run deletes on docker.io the versions that ghcr.io deleted last
2026-11-03 17:41:10 +01:00
Andras Bacsai d333f3f6e6 fix(stripe): end paid subscriptions that lost their Stripe subscription ID
Webhooks matched rows only by subscription ID, so a paid row without one
stayed active after the customer canceled. The deleted and updated events
now verify such a row, the verify job also finds canceled subscriptions,
and the invoice-failed job counts only invoices of the row's subscription.
cloud:sync-stripe-subscriptions reports these rows, and
cloud:fix-subscription --verify-all writes its CSV to a file and shows
details only with -v.
2026-11-03 17:34:49 +01:00
Andras BacsaiandClaude Opus 5.5 7e7f491749 fix(ui): open the unsaved bar for update channel and healthcheck type changes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:33:55 +01:00
Andras Bacsai cf1e0e70c5 feat(deployments): cancel superseded deployments when a newer one is queued 2026-11-03 14:31:52 +01:00
Andras BacsaiandClaude Opus 5.5 daf0e1a70c fix(dns): add the Cloudflare record when a domain is edited to a managed zone
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 14:19:43 +01:00
Andras Bacsai 37b4a8b4e7 fix(mcp): keep the deployment source on additional servers and audit MCP calls as MCP 2026-11-03 14:00:17 +01:00
Andras Bacsai b063a41624 fix(mcp): save MCP deployments as MCP, not as API deployments 2026-11-03 13:56:43 +01:00
Andras BacsaiandClaude Opus 5.5 c3a21eceeb fix(dns): replace unused Coolify records and show conflicts on automatic create
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:19:57 +01:00
Andras Bacsai 1da3124e10 docs(readme): add Bragly to small sponsors 2026-11-03 10:56:37 +01:00
peaklabs-dev 82d89589a2 fix(scripts): delete a shared image after the last index that references it 2026-11-02 23:13:41 +01:00
peaklabs-dev 156f998745 docs(scripts): mark the Docker Hub manifests endpoint as undocumented 2026-11-02 23:06:52 +01:00
peaklabs-dev 6d9c027d1c fix(scripts): count the docker.io layers once where ghcr.io has the manifest
- mark the docker.io sizes with a ~, the manifests that only docker.io has still count their shared layers per image
2026-11-02 23:06:52 +01:00
peaklabs-dev 64d0015622 fix(scripts): delete the unreferenced images before the other indexes
- they came after every index, so the leftovers of earlier runs waited about 190 runs
- delete the oldest first on both registries instead of the manifests that only docker.io has first
2026-11-02 23:06:52 +01:00
peaklabs-dev 67b29ff24a feat(scripts): delete the unused untagged manifests on docker.io
- read every docker.io manifest from the Docker Hub API, tagged or not
- delete the images and attestations of an index right after the index
- show the docker.io sizes next to the ghcr.io ones
2026-11-02 21:58:39 +01:00
peaklabs-dev db1cf006d5 ci: upload the list of the manifests to delete in every run 2026-11-02 21:55:04 +01:00
peaklabs-dev 80574bc164 ci: run the nightly and main builds during working hours 2026-11-02 21:55:04 +01:00
peaklabs-dev fa128d86c9 feat(release): name the stable CDN pull request after its version
- push the stable channel to sync/stable-v<version> instead of a branch named after the time, a new sync of the same version updates its pull request
- close the open sync pull requests of older stable versions as superseded
- name the commit and the pull request after the version change, like the upstream check of peakimages/sqlite, with a note to squash merge it
2026-11-02 21:55:04 +01:00
peaklabs-dev 33c0f6e571 fix(release): sync the preview channel of the CDN before the stable one
- the stable channel opens a pull request and the preview channel pushes to main, both from a fresh clone of the CDN
- the stable pull request now branches off main after the preview push, so a release that moves both latest and preview no longer leaves it with a conflict in versions.json
2026-11-02 17:44:41 +01:00
peaklabs-dev 0becfba911 feat(release): bump coolify version to v4.6.0 v4.6.0 2026-11-02 16:55:53 +01:00
peaklabs-dev 2b4a4bff08 fix(release): name the local tags that differ from origin
- a local tag that differs from origin, such as a tag moved on origin before the tag protection rule, failed the fetch with "could not fetch origin" and no reason, as --quiet also hid the rejected tags
2026-11-02 16:50:05 +01:00
🏔️ Peak 697d559c7c v4.6 (#12401) 2026-11-02 16:27:22 +01:00
peaklabs-dev a0b29739be docs: update CHANGELOG.md with fixes from main and the v4.6 changes
- add the fixes on main since v4.5.3, which ship with 4.6
2026-11-02 16:22:04 +01:00
peaklabs-dev 32574d76b1 Merge remote-tracking branch 'origin/main' into next 2026-11-02 16:12:51 +01:00
Andras BacsaiandClaude Opus 5.5 6ef29c64a1 fix(cdn): block releases sync before the current release is published
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:57:48 +01:00
Andras Bacsai 6977caaa9b fix(service): store the Compose default for bare variable references
Closes #12412
2026-11-02 14:55:44 +01:00
Andras BacsaiandClaude Opus 5.5 5cf1abc0fc fix(env): keep pre-upgrade values for legacy compose variables
Closes #12408

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:49:11 +01:00
Andras BacsaiandClaude Opus 5.5 bc855fdc68 fix(transfer): resolve IPv6-only server host names
The domain check of the transfer checklist resolved the server host name
with gethostbynamel(), which returns IPv4 only, so a domain that points to
an IPv6-only server was reported as pointing to another address. Resolve A
and AAAA records and compare normalized addresses. The Cloud SSH probe now
also resolves AAAA records when a host name has no A record.

Closes #12397

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:46:19 +01:00
Andras BacsaiandClaude Opus 5.5 8dea526098 Revert "fix(service): keep WordPress URLs in sync with the Coolify domain"
Do not overwrite the WordPress site address from the Coolify domain.
WordPress owns this setting; the docs now explain how to change it.

This reverts commit dce02411a.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:44:20 +01:00
Andras BacsaiandClaude Opus 5.5 1af7de8a85 fix(backups): pin a reachable IP for S3 uploads on IPv6-only servers
mc keeps one --resolve IP per host, and Coolify always pinned the IPv4
address of a dual-stack endpoint. On servers without IPv4, uploads failed
with "network is unreachable". A helper container on the upload network
now connects to each validated IP, IPv4 first, and the first IP that
connects is pinned. S3 restores are now pinned in the same way.

Closes #12397

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:38:49 +01:00
Andras BacsaiandClaude Opus 5.5 dce02411a0 fix(service): keep WordPress URLs in sync with the Coolify domain
Define WP_HOME and WP_SITEURL from SERVICE_URL_WORDPRESS in the MariaDB
and MySQL templates, so a domain change no longer makes the login
redirect to the domain used at install time.

Closes #12406

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:38:21 +01:00
Andras BacsaiandClaude Opus 5.5 6c650dd127 fix(api): document request bodies for shared env create and update endpoints
Closes #12395

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:33:29 +01:00
Andras BacsaiandClaude Opus 5.5 0b3ca79464 fix(scheduled-tasks): show disabled state in task and backup lists
Closes #12399

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:33:15 +01:00
Andras BacsaiandClaude Opus 5.5 be7a997541 fix(metrics): stop unreachable servers from blocking web workers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:31:26 +01:00
Andras BacsaiandClaude Opus 5.5 972ab7f6f4 fix(deployments): keep build secret values out of Compose runtime
Unset the helper's build secret variables before Compose pulls or starts
services, so containers get the runtime .env values. Give build secrets
the raw stored value instead of the quoted .env form.

Closes #12409

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:22:47 +01:00
Andras BacsaiandClaude Opus 5.5 b9ad48e104 fix(deployments): pass port-suffixed compose service URL variables
Docker Compose applications dropped the stored SERVICE_URL_<NAME>_<PORT> and SERVICE_FQDN_<NAME>_<PORT> variables and only generated the forms without a port, so compose references to them were blank. Generate the port-suffixed forms from the current domain for runtime and build-time, production and preview deployments.

Closes #12427

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:02:19 +01:00
Andras BacsaiandClaude Opus 5.5 dbd211486b fix(backups): let service databases choose the databases to back up
Closes #12432

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:59:53 +01:00
Andras Bacsai 33a6682791 fix(backups): keep non-deployment helper containers during cleanup
Closes #12431
2026-11-02 13:59:29 +01:00
Andras BacsaiandClaude Opus 5.5 31653c27d1 fix(clone): add Compose labels to cloned volumes
Closes #12429

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:59:22 +01:00
Andras BacsaiandClaude Opus 5.5 f2f89ccfae fix(canvas): add SQLite to database engines
Closes #12410

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:59:13 +01:00
Andras BacsaiandClaude Opus 5.5 51029aa8b9 fix(new-resource): accept a base directory without a leading slash
Closes #12428

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:58:15 +01:00
Andras Bacsai d8c1b926ca docs(readme): remove OpenElements from small sponsors 2026-11-02 09:25:38 +01:00
peaklabs-dev 0b95c30c45 fix(mcp): require deploy ability for registry check 2026-11-02 01:04:31 +01:00
peaklabs-dev 6c17c29925 Merge remote-tracking branch 'origin/main' into next 2026-11-02 01:01:41 +01:00
🏔️ Peak bf97496753 ci: add a temporary workflow that list the arch tags to remove (#12403) 2026-11-02 00:45:50 +01:00
🏔️ Peak de49eb86ba ci: delete unused manifests every hour (#12404) 2026-11-02 00:42:34 +01:00