Andras Bacsai
d7524a743d
fix(env-vars): show single empty state for searches
...
Move the environment variable search field above the production section
and hide production and preview headings when a search has no results.
2026-06-03 12:54:50 +02:00
Andras Bacsai
d300ddf902
Merge remote-tracking branch 'origin/next' into feat/search-to-envs
2026-06-03 12:47:37 +02:00
Andras Bacsai
b3f3ddf0ce
Merge remote-tracking branch 'origin/next' into fix/api-update-server-private-key
2026-06-03 12:44:31 +02:00
Andras Bacsai
9dabaabdf1
fix(git): force HTTP/1.1 for repository imports
...
Apply HTTP/1.1 transport config to HTTPS git clone and submodule commands,
including GitHub App credential rewrites, to avoid flaky large repo imports.
2026-06-03 12:42:04 +02:00
Andras Bacsai
8b8ec9c4f9
Merge remote-tracking branch 'origin/next' into fix/api-update-server-private-key
2026-06-03 12:27:41 +02:00
Andras Bacsai
ec7a8b5ea9
fix(scheduled-jobs): link skipped service database backups
...
Render skipped service database backups with the service database backup route while preserving standalone database backup links.
2026-06-03 12:25:13 +02:00
Andras Bacsai
419a551d76
fix(server): return SSH username validation messages
2026-06-03 11:57:46 +02:00
Andras Bacsai
1ca472d549
Merge remote-tracking branch 'origin/next' into fix/api-update-server-private-key
2026-06-03 11:43:32 +02:00
Andras Bacsai
d525c12457
fix(env): keep dev view env saves independent of search
...
Search environment variables case-insensitively by key, add accessible search
labeling, and ensure switching to developer view after searching loads the full
variable set so non-matching entries are not removed on save.
2026-06-03 11:40:54 +02:00
Andras Bacsai
ad4a21d15f
Merge remote-tracking branch 'origin/next' into feat/search-to-envs
2026-06-03 11:40:38 +02:00
Andras Bacsai
9aa40bb5f0
Merge remote-tracking branch 'origin/next' into jean/allow-dots-username
2026-06-03 11:38:55 +02:00
Andras Bacsai
bc2afdf02e
fix(server): share SSH username validation
...
Centralize SSH username rules and sanitization so dotted usernames are
accepted consistently across API, onboarding, and Livewire server forms.
2026-06-03 11:38:48 +02:00
Andras Bacsai
13e94a499d
feat(destinations): split Docker resources into separate page
...
Move standalone Docker destination resource listings out of the general
settings view and add a searchable resources page with team-scoped tests.
2026-06-03 11:24:36 +02:00
Andras Bacsai
128464e77c
Merge remote-tracking branch 'origin/next' into jean/docker-network-ui
2026-06-03 11:13:29 +02:00
Andras Bacsai
c0c8fd7f11
Merge remote-tracking branch 'origin/next' into jean/sentinel-ux
2026-06-03 11:10:19 +02:00
Andras Bacsai
d892d0ad10
fix(sentinel): refresh server nav after toggles
...
Dispatch server show refreshes after Sentinel and metrics toggles, preserve editable Sentinel form fields during restart events, and gate custom image editing by update permission.
2026-06-03 11:10:13 +02:00
Andras Bacsai
1fc224cd75
Merge remote-tracking branch 'origin/next' into jean/docker-network-ui
2026-06-03 11:01:29 +02:00
Andras Bacsai
aaa540421f
feat(application): preserve crash restart limit status
...
Stop applications after they hit the crash restart limit without clearing
restart tracking, surface the stopped-limit warning in status UI, and use
the application link in restart limit notifications.
2026-06-03 11:01:28 +02:00
Andras Bacsai
2d2634f87b
Merge remote-tracking branch 'origin/next' into jean/sentinel-ux
2026-06-03 10:57:36 +02:00
Andras Bacsai
d581abb284
Merge remote-tracking branch 'origin/next' into jean/add-restart-loop-limit
2026-06-03 10:43:57 +02:00
Andras Bacsai
07f381b88c
Merge remote-tracking branch 'origin/next' into jean/port-exposes-improvement
2026-06-03 10:32:57 +02:00
Andras Bacsai
be6ed4377d
feat(ui): add resource details view ( #9756 )
2026-06-03 10:21:15 +02:00
Andras Bacsai
63be45b21b
fix(ui): configuration changes modal doesn't go away after redeployment for git based compose apps ( #10461 )
2026-06-03 10:19:03 +02:00
Andras Bacsai
a047971bc1
fix(github): use provided app for installation URLs
...
Generate GitHub App installation links and setup cache state from the
current app instance, and keep the Livewire app name in sync after
permission checks.
2026-06-03 10:07:57 +02:00
Andras Bacsai
858b1906ec
Improve GitHub App setup flow
2026-06-03 09:33:46 +02:00
Ömer Faruk ŞAHİN
903f7a7177
Merge branch 'next' into fix/deploy-key-dedicated-path-race
2026-06-03 10:28:34 +03:00
Andras Bacsai
d681e656c7
fix(server): preserve remote HOME in Railpack buildx prune
2026-06-02 16:36:00 +02:00
Andras Bacsai
67687efc65
Merge remote-tracking branch 'origin/next' into 10507-railpack-cache-volume
2026-06-02 15:14:13 +02:00
Andras Bacsai
a75dc07567
fix(server): prune Railpack buildx cache via helper container
2026-06-02 15:14:01 +02:00
Andras Bacsai
d87ab279fb
fix(log-drain): connect drain to service networks
...
Ensure the log drain container joins enabled service destination networks
when services start or the log drain restarts.
2026-06-02 14:33:57 +02:00
Andras Bacsai
5eec212ade
fix(deploy): persist Railpack buildx metadata
...
Mount the host buildx metadata directory into helper containers so the
Railpack builder can be pruned during Docker cleanup.
2026-06-02 14:30:49 +02:00
Andras Bacsai
40294bc3b3
chore: inspect staged changes
2026-06-02 14:05:26 +02:00
Andras Bacsai
cd06e10b1b
fix(auth): bind magic links to their invitation
...
Include the invitation UUID in generated magic link tokens and validate the
matching stored invitation link before logging the user in, preventing stale
or same-email invitations from being reused.
2026-06-02 12:57:30 +02:00
Andras Bacsai
40d570f195
chore: update team invitation handling
2026-06-02 12:22:27 +02:00
Andras Bacsai
252a4a702c
Merge remote-tracking branch 'origin/next' into audit-policies
2026-06-02 12:08:35 +02:00
Andras Bacsai
973632b49c
Merge remote-tracking branch 'origin/next' into audit-policies
2026-06-02 12:03:38 +02:00
Andras Bacsai
93aa8894a8
fix(service): Garage doesn't start due to RPC secret being wrong length ( #10425 )
2026-06-02 12:01:41 +02:00
Andras Bacsai
1bad82cf43
Merge remote-tracking branch 'origin/next' into chore/update-deployment-validation
2026-06-02 11:28:42 +02:00
Andras Bacsai
fb4c3aa22e
fix(applications): allow repeated hyphens in image names
2026-06-02 11:27:25 +02:00
Andras Bacsai
098b098509
Merge remote-tracking branch 'origin/next' into chore/update-deployment-validation
2026-06-02 11:20:29 +02:00
Andras Bacsai
507ecfdf54
Merge remote-tracking branch 'origin/next' into fix/application-image-validation
2026-06-02 11:14:35 +02:00
Andras Bacsai
6dae53a0e5
Merge remote-tracking branch 'origin/next' into fix/application-image-validation
2026-06-02 11:13:36 +02:00
Andras Bacsai
d72c1e2a47
fix(applications): harden image validation
2026-06-02 11:11:33 +02:00
Andras Bacsai
c7c8107dcd
Merge remote-tracking branch 'origin/next' into fix/application-branch-validation
2026-06-02 11:10:33 +02:00
Andras Bacsai
62caa30056
Merge remote-tracking branch 'origin/next' into chore/update-deployment-validation
2026-06-02 11:10:32 +02:00
Andras Bacsai
1ce36926f6
Merge remote-tracking branch 'origin/next' into fix/proxy-config-validation
2026-06-02 11:07:07 +02:00
Andras Bacsai
51894d9c05
chore: defer server policy changes
2026-06-02 10:57:14 +02:00
Andras Bacsai
a511bd9b67
fix(api): validate token team context
2026-06-01 15:17:55 +02:00
Andras Bacsai
5e4873322e
chore: improve deployment input handling
2026-06-01 15:15:38 +02:00
Andras Bacsai
419593e7d4
fix(proxy): tighten config validation
2026-06-01 15:14:28 +02:00
Andras Bacsai
2bb07bbe9e
fix: validate application branch updates
2026-06-01 15:13:04 +02:00
Andras Bacsai
4b2dfa7c77
Merge remote-tracking branch 'origin/next' into 2731-investigate-failed-git-clone
2026-06-01 11:44:09 +02:00
Andras Bacsai
92d6b577fd
Merge remote-tracking branch 'origin/next' into 7616-conditional-image-tags
2026-06-01 11:15:55 +02:00
Andras Bacsai
e7483f591f
fix(deployments): scope submodule git credentials per command
...
Use per-command git config for GitHub App HTTPS credentials so private submodules authenticate without persisting global git config. Preserve configured git options for checkout, fetch, submodule, and LFS commands, and cover GitLab PR submodule checkout with tests.
2026-06-01 10:54:14 +02:00
Andras Bacsai
bc8928fdc4
Merge remote-tracking branch 'origin/next' into 2731-investigate-failed-git-clone
2026-06-01 10:40:02 +02:00
Andras Bacsai
a5313a78cf
fix(deployments): filter generated compose service env vars ( #10186 )
2026-06-01 10:38:36 +02:00
Andras Bacsai
e37f9401bc
Merge remote-tracking branch 'origin/next' into 7552-pr-previews-not-working
2026-06-01 10:35:37 +02:00
Andras Bacsai
8e30035031
Merge remote-tracking branch 'origin/next' into s3-backup-validation
2026-06-01 10:32:17 +02:00
Andras Bacsai
d4ff7ea791
Merge remote-tracking branch 'origin/next' into s3-backup-validation
2026-06-01 10:02:12 +02:00
Andras Bacsai
3db41a83a8
Merge remote-tracking branch 'origin/next' into terminal-long-session-disconnects
2026-06-01 09:52:34 +02:00
Andras Bacsai
51062e73a6
fix(database): honor disabled standalone health checks
...
Skip Docker healthcheck configuration when standalone database health checks are disabled, and document default health check settings in the database API schema.
2026-06-01 08:55:03 +02:00
Andras Bacsai
094e64ed2d
Merge remote-tracking branch 'origin/next' into terminal-long-session-disconnects
2026-06-01 06:56:11 +02:00
Andras Bacsai
4f053bf5b4
Merge remote-tracking branch 'origin/next' into 10444-database-healthchecks
2026-06-01 06:55:40 +02:00
Jérémy Derdaele
b5416859e5
fix(templates): generate valid Garage RPC secret
...
Garage requires a 32 bytes secret (which is a 64 char hex string)
2026-05-31 23:57:46 +02:00
Andras Bacsai
b46d8e2601
fix(terminal): keep sessions alive without hard timeouts
2026-05-31 21:52:46 +02:00
Andras Bacsai
8a52307255
fix(cleanup): preserve self-hosted server IPs ( #10480 )
2026-05-31 21:50:28 +02:00
Andras Bacsai
d423223d38
feat(database): configure standalone health checks
...
Add configurable health check settings for standalone databases and apply them to generated Docker Compose services. Allow disabling health checks and cover the behavior with feature tests.
2026-05-31 21:50:10 +02:00
Andras Bacsai
1b68f11ec0
fix(cleanup): disable unreachable self-hosted servers
...
Preserve self-hosted server IPs during unreachable cleanup and force-disable them instead. Keep cloud cleanup behavior overwriting the IP, with test coverage for both paths.
2026-05-31 21:47:18 +02:00
Andras Bacsai
34f15c106c
fix(webhook): match GitLab SSH repos with custom ports
...
Strip leading port segments from scp-style GitLab repository URLs so manual webhook matching compares the repository path consistently. Cover both ported and unported SSH URL forms.
2026-05-31 21:46:23 +02:00
Andras Bacsai
c9fcc0bc44
fix(service): defer stop when pulling latest images
...
Ensure restart actions flow through StartService so pull-latest restarts can
avoid stopping the service before image pulls. Also raise the changelog modal
above the desktop sidebar toggle.
2026-05-31 21:19:18 +02:00
ShadowArcanist
84eb9d31bb
feat(ui): improve configuration changes modal
2026-05-30 13:16:37 +05:30
Andras Bacsai
38e855b20e
fix(webhook): skip preview deployments for fork PRs ( #10457 )
2026-05-29 20:43:29 +02:00
ShadowArcanist
ab4b2045d4
fix(webhook): skip preview deployments for fork PRs when public previews are off
2026-05-29 23:53:51 +05:30
Andras Bacsai
b81bfc7f32
feat(profile): add appearance preferences page
...
Add a profile appearance section for theme, page width, and zoom preferences.
Move changelog access into the sidebar and bump the Coolify version to 4.1.2.
2026-05-29 13:59:01 +02:00
Andras Bacsai
c5fbf78bd8
fix(database): quote S3 restore temp paths
...
Escape generated restore file paths before composing docker and shell cleanup commands so paths with spaces or metacharacters cannot break command execution. Update import form security coverage to target ImportForm directly.
2026-05-29 12:27:33 +02:00
Andras Bacsai
bbbd46ca26
fix(database): always include MongoDB archive path in restores
2026-05-29 08:27:45 +02:00
Andras Bacsai
322bf7c1b2
refactor(database): split import form into Livewire child
...
Extract the database import form into its own component and add realtime
status refresh components for application server badges and service resource
cards.
2026-05-28 19:30:12 +02:00
Ömer Faruk ŞAHİN
ddd84e5adc
fix(git): write deploy key to per-deployment path, not root's id_rsa
2026-05-28 19:13:29 +03:00
Andras Bacsai
4401bee941
Merge remote-tracking branch 'origin/next' into fix/form-state
2026-05-28 17:34:52 +02:00
Andras Bacsai
dd8a0d501d
fix(s3): cap connection checks at 15 seconds
...
Return a friendly timeout error for failed S3 endpoint checks while
preserving the original exception as the previous throwable.
2026-05-28 17:31:11 +02:00
Andras Bacsai
c35d28f99b
fix(database): guard proxy listeners without a team
2026-05-28 17:13:18 +02:00
Andras Bacsai
20f9bb4305
perf(realtime): reduce push update churn
...
Cache destination lookups and skip empty resource queries during push
server updates. Add database indexes and Postgres storage tuning for
hot-update tables, and make the realtime entrypoint forward process
failures and signals reliably.
2026-05-27 19:38:23 +02:00
Andras Bacsai
90aa4e7e73
chore(sentinel): remove stale resource exit check
2026-05-27 16:55:03 +02:00
Andras Bacsai
626cfb4a22
fix(sentinel): reduce resource churn from health flaps
...
Ignore health status changes in Sentinel push deduplication when the container lifecycle state is unchanged.
Scope stale resource checks to Sentinel servers whose heartbeat is stale, and avoid refreshing resource last_online_at on unchanged statuses.
2026-05-27 16:48:38 +02:00
Andras Bacsai
1c5d5676ef
fix(crons): dispatch due schedules across chunks
...
Interleave due backups and tasks so one schedule type cannot starve the
other, and defer task job context loading until execution.
2026-05-27 16:35:41 +02:00
Andras Bacsai
9d1ede0733
fix(github): require opt-in custom webhook endpoint
2026-05-27 09:11:23 +02:00
Andras Bacsai
a07cee7ad6
fix(github): support custom webhook override
2026-05-27 09:05:55 +02:00
Andras Bacsai
499a8666db
fix(github): allow custom webhook endpoint input
2026-05-27 08:37:10 +02:00
Andras Bacsai
9b996b4dc9
chore: inspect commit message guidance
2026-05-27 07:14:54 +02:00
Andras Bacsai
d443758b03
fix(github): allow system-wide private apps across teams
...
Use the shared GitHub app scope when listing and loading private apps so system-wide apps owned by another team remain available. Update coverage for mounting and loading repositories through those apps.
2026-05-26 17:36:02 +02:00
Andras Bacsai
9f29df4cc3
fix(sentinel): accept empty container heartbeats
...
Allow Sentinel pushes with an empty containers array so servers with no
running containers still refresh their heartbeat and enqueue an update.
2026-05-26 17:31:27 +02:00
Andras Bacsai
081bd6ef8c
fix(seeding): ensure root user joins root team
...
Create the root team before production seeding depends on it, reuse the
existing root team when creating root users, and cover the production seeder
flow with a feature test.
2026-05-26 17:05:54 +02:00
Andras Bacsai
6da907f1c8
chore: inspect commit message guidance
2026-05-26 15:35:09 +02:00
Andras Bacsai
8e033c5bc3
fix(destination): promote networks atomically
...
Wrap destination promotion in a transaction so the main destination swap and additional network updates stay consistent. Add coverage for promoting an owned team network while preserving the previous main destination as an additional network.
2026-05-26 14:50:29 +02:00
Andras Bacsai
f44ace3965
fix(destination): validate network server pairing
...
Ensure destination attach and promote operations only accept networks that belong to the selected server, preventing mismatched same-team server/network pairs.
2026-05-26 14:48:36 +02:00
Andras Bacsai
579ce3064f
chore(schedule): type scheduled task job input
2026-05-26 14:47:11 +02:00
Andras Bacsai
097efd14ce
fix(storage): clear stale disk usage cache
...
Forget cached storage threshold state when reported disk usage drops below the alert threshold, allowing future threshold crossings to dispatch a fresh storage check.
2026-05-26 14:45:49 +02:00
Andras Bacsai
43884823c6
chore(ssh): remove stale mux cleanup job
...
Drop the scheduled stale multiplexed connection cleanup job, its SSH mux
health/orphan config, and the tests that covered that cleanup path.
2026-05-26 14:40:38 +02:00
Andras Bacsai
b5be9fe9e8
fix(sentinel): lock push dedupe decisions
...
Guard Sentinel push hash checks and cache updates with a server-scoped atomic cache lock to prevent concurrent duplicate dispatches.
2026-05-26 14:12:56 +02:00
Andras Bacsai
7677fac2f5
fix(sentinel): validate push containers payload
...
Reject malformed sentinel push payloads before updating heartbeat state,
dispatching jobs, or writing deduplication cache entries.
2026-05-26 14:07:41 +02:00