18613 Commits
Author SHA1 Message Date
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
peaklabs-dev e49fcbf0b2 ci: lock the actions of the arch tag removal in actions.lock 2026-11-02 00:18:38 +01:00
peaklabs-dev f0caf0d555 feat(scripts): harden the requests of the arch tag removal
- Passes the logins to curl on stdin, which keeps them out of the process list
- Sends a token only to the host the script expects
- Checks the format of version ids and tags before they go into a request
2026-11-02 00:18:34 +01:00
peaklabs-dev 612df5a684 ci: add a temporary workflow that lists the arch tags to remove
- scripts/tmp-remove-arch-tags.sh lists the arch tags such as 4.1.2-amd64 whose image a multi-platform tag still reaches, and removes as many as --remove asks for
- A registry deletes a tag only with its image, so --remove moves each arch tag to a placeholder manifest and deletes the placeholder, the image stays, as the multi-platform manifest points at it by digest
2026-11-02 00:18:33 +01:00
peaklabs-dev 549233f6f4 refactor(scripts): list the kept tag exceptions with commas 2026-11-02 00:18:32 +01:00
peaklabs-dev eadc4708ab ci: delete 200 unused manifests every hour 2026-11-02 00:18:31 +01:00
peaklabs-dev a43fcd8ecb fix(scripts): sign in to ghcr.io and the Docker Hub API 2026-11-02 00:18:31 +01:00
peaklabs-dev 434ac07364 feat(scripts): reword the log lines of the manifest cleanup 2026-11-02 00:18:29 +01:00
🏔️ Peak fbe5e831f4 feat: streamline cdn version file (#12426) 2026-11-02 00:08:14 +01:00
peaklabs-dev df760f292a docs: add the streamline CDN version file changes to CHANGELOG.md 2026-11-02 00:07:20 +01:00
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
🏔️ Peak d759126149 ci: modernize coolify docker image (#12425) 2026-11-02 00:07:17 +01:00
peaklabs-dev f68b271d96 docs: add the modernize coolify image changes to CHANGELOG.md 2026-11-02 00:06:48 +01:00
peaklabs-dev 70ba07947f ci(build): attach the full provenance and an SBOM to every image
- enable full provenance attestation explicitly for every image build
- attach an SBOM attestation to every image, which lists every package of the image
2026-11-02 00:06:48 +01:00
peaklabs-dev a4b2b2ea4e build: compress the image layers with zstd
- zstd compresses better than gzip and compresses and decompresses faster, pulling needs Docker Engine 23.0 or later and Coolify requires 24.0
2026-11-02 00:06:48 +01:00
peaklabs-dev aefd2cff89 feat(release): copy the image labels to the release index
- ghcr.io reads the description and the license of an image of several platforms from the annotations of its index, not from the labels of each image
2026-11-02 00:06:48 +01:00
peaklabs-dev 9f21022732 build(image): set every OCI label on the production and development images 2026-11-02 00:06:48 +01:00
peaklabs-dev 2c71920c55 ci(size): comment the size change on pull requests 2026-11-02 00:06:48 +01:00
peaklabs-dev 100d0b0405 feat(scripts): add size.sh to measure image sizes 2026-11-02 00:06:48 +01:00
🏔️ Peak 64b18bc0e4 ci: harden workflows (#12424) 2026-11-02 00:06:44 +01:00
peaklabs-dev 3f7d9891a8 docs: add the harden workflows changes to CHANGELOG.md 2026-11-02 00:06:15 +01:00
peaklabs-dev c38ce3caef ci: clean up the issue and pull request workflows
- name the files and workflows like the release workflows and every step after what it does
- run all workflows without the GitHub Actions cache like the release workflow
2026-11-02 00:06:15 +01:00
peaklabs-dev 79fd5a8f7e ci: fix every finding of jactionlint with the pedantic profile
- pull_request_target and workflow_run stay, these workflows run no code of the pull request
2026-11-02 00:06:15 +01:00