3598 Commits
Author SHA1 Message Date
Andras BacsaiandClaude Opus 5.5 afe8fc05ea fix(healthcheck): keep the Dockerfile HEALTHCHECK of existing applications
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 14:16:22 +01:00
Andras BacsaiandClaude Opus 5.5 5145aa53dc fix(services): align service configuration form with role permissions (#12356)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:39:52 +01:00
Andras BacsaiandClaude Opus 5.5 fae2752346 fix(databases): show custom configuration only to admins (#12353)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 22:34:47 +01:00
Andras BacsaiandClaude Opus 5.5 28f44d3aa0 fix(hetzner): show out-of-stock server types as disabled in the server form
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:44:34 +01:00
Andras Bacsai 101444b8ca fix(log-drains): support Axiom edge domains and update Fluent Bit to 5.1
- Add an Axiom edge domain setting (default us-east-1) and use the /v1/ingest endpoint, so EU datasets work
- Remove the Highlight drain (service ended) and stop its running containers
- Update Fluent Bit from 2.0 to 5.1 and use the warn log level
- Restart running drains when the generated files change, with the new image pulled before the old container stops
- Show log drain validation errors under their fields

Closes #9898
2026-10-27 17:41:50 +01:00
Andras Bacsai fcdcd80eeb feat(env): support variable flag directives in developer view (#12349) 2026-10-27 16:27:22 +01:00
Andras Bacsai 1039368491 fix(s3): support virtual-hosted-style URLs for S3 storages
Add a "Use path-style URLs" setting to S3 storages. It is detected from
the endpoint (Alibaba OSS, Tencent COS, Volcengine/BytePlus TOS), and the
connection test switches to virtual-hosted style when the provider
rejects path-style requests. Backups pass `--path off` to mc.

Closes #10347
2026-10-27 15:53:16 +01:00
Andras BacsaiandClaude Opus 5.5 d1317e1d3b fix(metrics): explain what 100% CPU means in chart tooltips
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 09:57:09 +01:00
Andras Bacsai 1a2a5362ad fix(security): secure remote command secrets and clone volume data 2026-10-27 09:47:18 +01:00
Andras BacsaiandClaude Opus 5.5 0a9019f738 fix(analytics): hide container tooling user agents by default (#12335)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 19:27:22 +01:00
Andras BacsaiandClaude Opus 5.5 e1637cbe02 fix(new-resource): render the resource search binding only on the type step
The searchResources() x-data wrapper was outside the type-step @if that
renders its script, so a direct load of a later step (for example the
PostgreSQL image picker from global search or a reload) threw
"searchResources is not defined".

Closes #12337

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:30:10 +01:00
Andras Bacsai 8d8f8e8988 feat(analytics): compact traffic metrics and scale latency units 2026-10-26 17:59:06 +01:00
Andras Bacsai 271849c88e fix(scheduled-tasks): show the server timezone in the schedule help text
Closes #10904
2026-10-26 13:10:09 +01:00
Andras BacsaiandClaude Opus 5.5 0a0d6cf075 fix(postgres): block restore scan bypasses and stop on SQL errors (#12333)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:54:32 +01:00
Andras BacsaiandClaude Opus 5.5 88e67cbf42 fix(new-resource): pass server ids in the resource wizard (#12327)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 10:14:45 +01:00
Andras BacsaiandClaude Opus 5.5 3f3fa1d758 fix(previews): deploy previews with their own environment variables (#12325)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 09:55:44 +01:00
Andras Bacsai e7ecc0e1f9 fix(metrics): find the Coolify data disk in Sentinel 1.1.3 disk metrics
Closes #12315
2026-10-25 23:48:21 +01:00
Andras BacsaiandClaude Opus 5.5 0f0a1e920d fix(project): show production, staging, and development environments first
Closes #12317

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:47:32 +01:00
Andras Bacsai 834b47a85f fix(tags): pass filtered tag count to client pagination 2026-10-25 18:09:17 +01:00
Andras BacsaiandClaude Opus 5.5 11f794790d feat(team): let owners and admins require 2FA for team members
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 14:47:39 +01:00
Andras BacsaiandClaude Opus 5.5 5ed8565edf fix(patches): show held back package updates apart from the updates
Phased Ubuntu updates, apt-mark holds, and apk version pins showed as
available updates that no update could install.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 12:53:20 +01:00
Andras Bacsai 86a11d6992 fix(metrics): show all container metrics in one table 2026-10-24 23:48:36 +02:00
Andras BacsaiandClaude Opus 5.5 b4a4df2706 fix(files): browse containers without a shell through a helper container
Closes #12305

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 23:33:24 +02:00
Andras BacsaiandClaude Opus 5.5 9c8f38752a fix(ui): flatten process log dialogs and show the run status next to the title
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:50:30 +02:00
Andras Bacsai 4c7c46e2fd fix(ui): point the MCP endpoint hint to Keys & Tokens → API Tokens 2026-10-24 22:34:30 +02:00
Andras BacsaiandClaude Opus 5.5 d30f582bfe fix(ui): load the Compose file on open and show a disabled Deploy until it loads
Load a missing Compose file once when an application page opens. Until it
loads, show Load compose next to a disabled Deploy button on every page.
Keep teleported tooltips keyed so Livewire morphs the form after updates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:11:48 +02:00
Andras BacsaiandClaude Opus 5.5 94e70983f4 fix(ui): show sparkline tooltips below the chart so the line stays visible
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:03:00 +02:00
Andras BacsaiandClaude Opus 5.5 649e90ab3b fix(ui): show resource menus in the sidebar and mobile drawer, not in the page
The main sidebar shows the resource menu from lg, where it appears, and the
mobile drawer shows it too, so the page grid menu is gone. The drawer opens
on the menu of the current page again after it closes. Below xl, the resource
actions are a compact button in line with the title.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 21:58:42 +02:00
Andras BacsaiandClaude Opus 5.5 a261d89988 fix(ui): sync chart tooltips only inside the plot area and remove the heading gap
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 21:55:45 +02:00
Andras BacsaiandClaude Opus 5.5 d8d33c69ce fix(auth): hide locked and admin-only secrets in forms, compose, and the API
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 21:46:58 +02:00
Andras Bacsai 6fc14f3615 fix(auth): enforce resource permissions for stored secrets 2026-10-24 18:26:55 +02:00
Andras BacsaiandClaude Opus 5.5 5f460c06c6 fix(previews): key docker tags by preview id so a delete cannot shift them
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:14:51 +02:00
Andras BacsaiandClaude Opus 5.5 ffc6f4017d fix(ui): stop single dashboard cards from stretching to full width
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:06:54 +02:00
Andras BacsaiandClaude Opus 5.5 e964c5de2d fix(ui): show the docker cleanup schedule in three columns
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 17:58:58 +02:00
Andras BacsaiandClaude Opus 5.5 091fdf1ebe feat(ui): move the file browser container picker to a header dropdown
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 14:05:58 +02:00
Andras BacsaiandClaude Opus 5.5 32427a20f6 fix(ui): soften list separators and fix the page size control
- Row and section separators use a softer translucent divider token on all themes
- Page size trigger is an aligned bordered button ("10 / page")
- Pagination footer stays visible when a larger page size fits all rows
- Custom page size warns above the 100 maximum and the menu closes on select

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 14:04:43 +02:00
Andras Bacsai 4e6c0bfcb5 feat(ui): let users choose local or UTC chart tooltip times 2026-10-24 13:26:03 +02:00
Andras BacsaiandClaude Opus 5.5 c0ae50f120 fix(ui): stop the list toolbar from shifting when the page loads
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:25:02 +02:00
Andras BacsaiandClaude Opus 5.5 407ac50439 feat(ui): sync metric chart tooltips across charts on hover
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:24:57 +02:00
Andras BacsaiandClaude Opus 5.5 1527917523 feat(ui): make live refresh a toggle for any metrics and analytics range
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 13:24:52 +02:00
Andras BacsaiandClaude Opus 5.5 6f8d51008e fix(ui): move chart legends to the card header with last values
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:49:23 +02:00
Andras Bacsai a3712f8902 fix(deploy): stop 502 errors during rolling updates
Traefik and Caddy routes of applications now retry a failed connection
on another container, and the rolling update waits a configurable drain
time (default 5 seconds) after the new container is healthy before it
stops the old containers. The wait is skipped when no old container runs
or when the proxy labels changed, because the proxy drops a route that
two containers define differently.

Fixes #8627
2026-10-24 11:16:46 +02:00
Andras BacsaiandClaude Opus 5.5 465344f1bc fix(ui): load no favicon from domains behind HTTP basic auth
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:23:49 +02:00
Andras BacsaiandClaude Opus 5.5 6c270a42db fix(service): remove the "Remove from Coolify only" delete option
A normal delete now removes a resource from Coolify also when its server
is not reachable, so the separate option only left untracked containers
running. The danger zone button is gone, and the services API rejects
delete_from_coolify_only with 422 instead of ignoring it, so old clients
do not delete Docker resources they asked to keep.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:18:51 +02:00
Andras BacsaiandClaude Opus 5.5 8429b6e94b fix(backup): save removed databases in the databases to back up list
Closes #11548

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 00:16:37 +02:00
Andras BacsaiandClaude Opus 5.5 2a295d573b feat(ui): rework dashboard columns and polish the deploy canvas
- Dashboard: projects and servers fill the left, recent deployments sit in a
  fixed-width right column; cards stretch to fill rows; the server table shows
  live CPU and memory usage when metrics are on.
- Deploy canvas: purple accent in dark mode, the Steps panel floats over the
  canvas, and both canvases use the flask beta icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:14:16 +02:00
Andras BacsaiandClaude Opus 5.5 adacb764f9 fix(ui): stop canvas top bar :has() rule from blocking chart pages
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:07:37 +02:00
Andras Bacsai ae492a2497 fix(ui): link user menu Appearance to its page so the menu fits short screens 2026-10-23 21:40:04 +02:00
Andras BacsaiandClaude Opus 5.5 c6fbeb84eb Merge branch 'fix/server-transfer-cloud-hardening' into main
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:25:28 +02:00
Andras BacsaiandClaude Opus 5.5 cf9f254507 fix(server-transfer): close security holes in import, claim, and archives
Import:
- Check every uuid in a bundle against a strict id format before any
  write, and quote the SSH mux socket and key paths in local shell
  commands. A bundle uuid could run commands in the Coolify container.
- Validate bundle fqdns, git source URLs, paths, networks, cron
  expressions, and database ports; cap the number of items.
- Do not confirm that another team has a uuid.
- Refuse a project icon path with a uuid that is not a plain id.

Claim, finish, and migrate:
- Pass checklist step keys to wire:click with Js::from (stored XSS).
- Link only to https target server URLs.
- Validate target_instance_url in /transfer/complete; never prefill an
  unverified URL for a transfer back; scope the transfer-back token to
  write+deploy for 1 hour.
- Release on an owner marker only when it is newer than the own claim.
- Do not touch apps that only use the server as an additional
  destination when an archive is released or deleted.
- Give Sentinel a new token on claim.
- Add a checklist step to remove the previous instance's SSH key.
- Block a transfer while backups or scheduled tasks run.
- Authorize refreshMigration and PrivateKey checkConnection, clear
  tokens from Livewire state, hide migration log/error from members.

Archives:
- Refuse ip, user, port, private key, and Cloudflare tunnel changes.
- Throttle Enable management and require a free server slot for it and
  for a transfer back.
- Skip cloud provider calls.
- Re-read force_disabled before each SSH command, so running jobs stop.
- Probe the import check target at the resolved address only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:02:32 +02:00