Commit graph

6088 commits

Author SHA1 Message Date
Andras Bacsai
f6467feeb3
Add support for apk package manager (on Alpine Linux) (#6189) 2026-08-18 16:46:02 +02:00
Andras Bacsai
96790e6531 feat(server): support Alpine package management and Docker setup
Add Alpine prerequisites, Docker CLI plugins, and OpenRC service handling while
falling back to sh for SSH commands on hosts without Bash.
2026-08-18 16:45:02 +02:00
Andras Bacsai
da8665330b feat(security): add integration token editing and rotation 2026-08-18 16:24:53 +02:00
Andras Bacsai
85e0821dd4 Merge branch 'main' into third-party-integration-tokens 2026-08-18 16:15:53 +02:00
Andras Bacsai
743f54b317 feat(security): add Cloudflare integration token management
Add encrypted team-scoped integration token storage, admin UI, authorization, and Cloudflare token validation.
2026-08-18 16:15:34 +02:00
Helge Sverre
8170798115
fix(security): enforce team-scoped authorization for scheduled tasks (#11239)
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
2026-08-18 16:01:17 +02:00
Andras Bacsai
3b08be1429 fix(auth): handle concurrent OAuth identity creation safely
Recover existing OAuth and OIDC identities after unique constraint races and reject boolean or floating-point provider IDs.
2026-08-18 15:43:46 +02:00
Andras Bacsai
a3e968d03e fix(backups): preserve existing volume backup timeouts
Only update timeout when the API request explicitly provides one, with coverage for custom timeout values.
2026-08-18 15:41:31 +02:00
Andras Bacsai
d29139f4a3 fix(auth): reject OAuth logins without valid provider IDs
Add validation for missing, blank, and non-scalar provider user IDs and cover the rejection cases with feature tests.
2026-08-18 15:34:37 +02:00
Andras Bacsai
f9f26c547c fix(auth): preserve OAuth identity across email changes
Link OAuth logins by provider user ID before matching email, refresh identity
claims on login, and skip password confirmation for SSO-linked users.
2026-08-18 15:27:27 +02:00
Andras Bacsai
050107a41d Merge remote-tracking branch 'origin/main' into 11273-heavy-volume-timeout 2026-08-18 15:11:48 +02:00
Andras Bacsai
1073bbca83 fix(sentinel): clarify restart after settings update
Add a regression test for the updated success notification.
2026-08-18 15:06:05 +02:00
Andras Bacsai
8400e26a3f feat(auth): consolidate OAuth settings into standard authentication page
Display all OAuth providers on one settings page, prioritize OpenID Connect, and add its provider icon.
2026-08-18 14:22:49 +02:00
Andras Bacsai
dd597d1527 fix(backups): support long-running volume backups 2026-08-18 14:10:23 +02:00
Andras Bacsai
00b7861a8f
fix(services): avoid loading bind-mount file contents (#10960) 2026-08-18 14:05:15 +02:00
Andras Bacsai
288dc98ca7 fix: enforce remote output size limits 2026-08-18 14:03:33 +02:00
Andras Bacsai
253e59e731 Merge remote-tracking branch 'origin/next' into openid-auth-support 2026-08-18 14:03:09 +02:00
Andras Bacsai
ccd7c59abf Merge remote-tracking branch 'origin/next' into pr-10960-compose-settings-memory-crash 2026-08-18 13:58:16 +02:00
Andras Bacsai
861a904992 fix(server): surface pending proxy and outdated Traefik states 2026-08-18 13:53:40 +02:00
Andras Bacsai
d2d6c8ac96 fix(deployments): defer container cleanup and configure dashboard HTTPS 2026-08-18 12:51:54 +02:00
Andrew Matia
264cb8e2b0
fix(webhook): restore GitLab source deployments (#11284) 2026-08-18 12:24:06 +02:00
Andras Bacsai
d360da3270
fix(databases): chown SSL certs before container replacement (#11352) 2026-08-18 11:55:55 +02:00
NrwPlay
30da9e96eb
fix(notification): update storage email link in S3 error (#8633) 2026-08-18 11:38:01 +02:00
Prai'ns
05ebba9f1a
fix: compress dashboard over HTTPS (#10828)
Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
2026-08-18 11:30:09 +02:00
Andras Bacsai
417f996ef5
fix(databases): redirect stdin for the SSL cert chown (#11315) 2026-08-18 10:46:24 +02:00
Andras Bacsai
cd2c3f3431
fix(postgresql): persist selected public access state (#11348) 2026-08-18 09:46:41 +02:00
Andras Bacsai
8ecf77eadb fix(postgresql): persist selected public access state 2026-08-18 09:42:22 +02:00
Andras Bacsai
0d23b29775 fix: honor GitHub default branches and reconcile proxy networks
Use searchable repository and branch selectors, select each repository's default branch when available, and discover running container networks during proxy reconciliation.
2026-08-18 09:16:29 +02:00
Andras Bacsai
17d9d1a370 feat(domains): add configurable HTTPS redirects for service apps 2026-08-18 09:08:18 +02:00
Andras Bacsai
92d6fe9d4e fix(ui): use solid surfaces for deployment indicator states
Remove deployment opacity fading and translucent dark-theme surfaces, and drop the global listbox hover background rule.
2026-08-17 21:38:44 +02:00
Andras Bacsai
5c6defbc76
fix(backups): honor full dumps and selected storage deletion (#11331) 2026-08-17 18:29:09 +02:00
Andras Bacsai
db1316f878
fix(backups): render form for directory-only targets (#11332) 2026-08-17 17:00:00 +02:00
Andras Bacsai
5152698757
fix(deployments): advance queue after cancellations (#11330) 2026-08-17 16:27:00 +02:00
Andras Bacsai
82fe61bfd0 Merge remote-tracking branch 'origin/main' 2026-08-17 16:23:56 +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
Andras Bacsai
282227b238
fix(domains): preserve ports in split URL inputs (#11328) 2026-08-17 16:05:21 +02:00
peaklabs-dev
5da6c5e118
feat(horizon): read allowed emails from config and allow root user by id
- read allowed emails from config instead of env(), which returns null once configs are cached in production
- allow the root user by id instead of matching their email
- clean up gate code
2026-08-17 13:07:49 +02:00
🏔️ Peak
00e3ffe809
Merge branch 'next' into feature/horizon-configurable-admin-access 2026-08-17 12:08:17 +02:00
Dion VH
5872cc095c
fix(docker): docker cleanup correctly checks the coolify.managed label (#8831) 2026-08-17 12:07:12 +02:00
Andras Bacsai
e28d8ca0ff fix: handle complete empty snapshots and match dropdown trigger width 2026-08-16 18:26:40 +02:00
MarkosTech
20a627ffe6 fix(databases): redirect stdin for the SSL cert chown
Remote command lists are piped into `bash -se`, so the script sits on
stdin. `docker compose run` attaches stdin and eats the rest of it,
including the `docker compose up -d` that follows. The container is
removed and never recreated, and bash exits 0, so the deploy reports
success.

`-T` does not help, it does not detach stdin.

Affects MongoDB, MySQL, MariaDB and PostgreSQL when enable_ssl is set.
2026-08-16 13:20:20 +02:00
Andras Bacsai
0a35909ddf feat(ui): standardize paginated tables and responsive dropdowns
Add reusable pagination and page-size controls, improve mobile dropdown positioning, and migrate paginated views to consistent table components.
2026-08-16 00:58:23 +02:00
Andras Bacsai
76030a30d4 chore(v5): archive V5 implementation and remove runtime integration
Move V5 source, migrations, UI, scripts, and tests into documentation, then remove V5 routes, models, jobs, configuration, dependencies, and application hooks.
2026-08-15 19:13:30 +02:00
Andras Bacsai
1440d35750
fix(resources): preserve records sharing IDs across model types (#11300) 2026-08-15 18:43:20 +02:00
Andras Bacsai
81ed9a3af2
fix(sentinel): prevent restart after Sentinel is disabled (#11298) 2026-08-15 18:33:39 +02:00
Andras Bacsai
e37a8dfa8a fix(storage): test S3 connection with current form values
Preserve unsaved storage settings while persisting the resulting usability
and notification status.
2026-08-15 18:23:58 +02:00
Andras Bacsai
0a6db15216 fix(backup): use shared compression for database dumps
Centralize compressor selection and apply helper-image compression to dump-all database backups.
2026-08-15 15:51:11 +02:00
Andras Bacsai
909e776fbc fix(database): allow PostgreSQL custom format backups safely
Detect custom format archives before scanning for blocked commands and tighten PostgreSQL restore command matching.
2026-08-15 15:12:59 +02:00
Andras Bacsai
2677e47138 fix(storage): split S3 endpoint input and persist stopped status
Persist exited status across application, database, service, and preview stop paths, and reuse the split host/port/path input for S3 endpoints with linked validation feedback.
2026-08-15 11:46:49 +02:00
Andras Bacsai
ec8a24d178 fix(environment): keep Compose self-references editable 2026-08-15 10:59:04 +02:00