Commit graph

386 commits

Author SHA1 Message Date
Andras Bacsai
abc701ac65
fix(application): allow general saves with wildcard domains (#11683) 2026-09-08 10:23:51 +02:00
Andras Bacsai
4cb806b472 feat(ui): move preview deployment toggle into section actions
Replace the preview deployments listbox with an Enable/Disable action
button that calls togglePreviewDeployments and persists the setting.
2026-09-08 10:21:34 +02:00
Andras Bacsai
8a03647a70 feat(domains): compact mobile domain rows and isolate preview modals
Show routing summaries on domain tables below 600px instead of squeezing desktop columns. Scope preview add/edit Livewire events by preview id, authorize preview domain actions, and add search plus unsaved-edit handling.
2026-09-07 20:24:46 +02:00
Andras Bacsai
d75881fa96 feat(domains): keep domain drafts and move preview settings
Preserve in-progress domain edits and redirects across Livewire
refreshes, copy www port overrides for service redirect pairs, and
relocate preview deployment toggles from Advanced to Previews.
Unsaved bars can stay dirty via Alpine while a modal is closed, and
service domain tables stack at narrow widths.
2026-09-07 18:29:58 +02:00
Andras Bacsai
183e28682c fix(domains): route Compose domains using service ports
Resolve routing ports per Compose service, preserve legacy embedded ports, and ignore non-TCP declarations.
2026-09-07 15:17:23 +02:00
Andras Bacsai
208f7720bc fix: avoid inherited compose ports and defer archive inspection
Prevent multi-service Compose domains from inheriting the application port, and defer PostgreSQL custom-format archive inspection to pg_restore.
2026-09-05 14:19:38 +02:00
Andras Bacsai
9c3fb1da39 fix(domains): limit instance addresses to localhost DNS hints 2026-09-04 20:56:08 +02:00
Andras Bacsai
986ece457d fix(domains): use Compose service ports for internal routing
Detect Docker Compose service ports for domain internal ports and proxy labels, with application ports as a fallback.
2026-09-03 20:38:19 +02:00
Andras Bacsai
b8866b87e8
fix(livewire): authorize exposed resource mutations (#11596) 2026-09-02 19:58:28 +02:00
Andras Bacsai
e2e91fbb85
feat(domains): support per-domain internal port overrides (#11594) 2026-09-02 19:39:19 +02:00
Andras Bacsai
7c3b05e2d2
refactor(livewire): make data-sync helpers private (#11578)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 18:44:18 +02:00
Andras Bacsai
ff8b019296 fix(application): defer Docker Compose loading and preserve domains
Load the compose file only after the user confirms its location, initialize the default compose path when switching build packs, and retain existing application domains.
2026-08-31 21:12:28 +02:00
Andras Bacsai
ccea7287bf feat(previews): add preview domain management and DNS status tracking 2026-08-30 16:20:16 +02:00
Andras Bacsai
b357522f94 fix(livewire): prevent stale keys and refresh races
Use stable identities for dynamic rows and nested components so reordering does not target the wrong item. Scope storage count and volume-list refreshes, preserve PostgreSQL script identity when renaming files, use Livewire-aware destination redirects, and bump the version to 4.3.13.
2026-08-28 09:26:57 +02:00
Andras Bacsai
eb57a691ca feat(domains): add asynchronous DNS validation
Add queued DNS checks with polling, status indicators, and notifications for application and service domains. Improve volume backup target labels and names.
2026-08-21 21:22:04 +02:00
Andras Bacsai
17d9d1a370 feat(domains): add configurable HTTPS redirects for service apps 2026-08-18 09:08:18 +02:00
Andras Bacsai
db1316f878
fix(backups): render form for directory-only targets (#11332) 2026-08-17 17:00:00 +02:00
Andras Bacsai
282227b238
fix(domains): preserve ports in split URL inputs (#11328) 2026-08-17 16:05:21 +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
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
5f3108b68d feat(ui): unify resource headings with responsive action menus
Add responsive overflow handling and dedicated action menus for application,
service, database, and server headings, while improving upgrade and email
settings flows and returning 404s for missing deployment environments.
2026-08-13 12:17:16 +02:00
Andras Bacsai
e79230cf37 fix(docker): replace deprecated stop flags with version-aware ones
Store each server's Docker version and build stop commands via
dockerStopCommand() so newer Docker uses --timeout instead of
deprecated --time/-t. Also show Docker version in server details.
2026-08-13 11:17:44 +02:00
Andras Bacsai
402dcd7783 fix(domains): stop suggesting missing www counterpart domains
Remove buildSuggestedWwwRows from application and service domain
row builders so configured domains no longer auto-surface an
unconfigured www pair. Update ApplicationDomainsTest accordingly.
2026-08-13 08:58:10 +02:00
Andras Bacsai
32bf1860d4 feat(domains): add structured URL editing and responsive domain controls
Add reusable domain URL parsing and input components, expose per-domain
redirect and indexing controls, and improve application and service domain
layouts across responsive breakpoints.
2026-08-11 00:06:55 +02:00
Andras Bacsai
be2a6d6d1e feat(domains): edit compose redirect direction in domain modal 2026-08-10 15:15:48 +02:00
Andras Bacsai
69ba001e21 feat(domains): add inline indexing and redirect controls
Move domain indexing and redirect settings into domain management views and include noindex changes in deployment configuration diffs.
2026-08-10 15:10:30 +02:00
Andras Bacsai
003e44d123 Merge remote-tracking branch 'origin/next' into feat/noindex-domains 2026-08-08 11:26:20 +02:00
Andras Bacsai
4539d1442e feat(ui): show S3 backup status and move domain action
Eager-load S3 on volume backup lists and add an S3 status column with
Configured/Unavailable/Not set badges. Surface Local vs S3 on the
persistent storages backup column. Move service resource domain links
to a globe action in the card footer, and update related tests and grid CSS.
2026-08-07 12:49:25 +02:00
Andras Bacsai
2a5197fb30 feat(ui): add shared table controls and multi-select filters
Introduce x-table toolbar/search/filter/sort/loading components and
multi-select deployment history filters with OR within groups and AND
across groups. Add live database/service status for breadcrumbs, shared
variables layout controls, logs viewer toolbar polish, and infrastructure
list filter consistency. Document patterns in UI_REDESIGN.md and cover
with feature tests.
2026-08-06 15:37:30 +02:00
Andras Bacsai
0be13113d1 refactor(application): extract status and internal access components
Move internal hostname loading and breadcrumb status into dedicated
Livewire components with live refresh. Merge public/internal access
into one Access section, bind Enter to save on the unsaved bar, and
drop x-teleport wrappers from popup and global search.
2026-08-06 14:29:25 +02:00
Andras Bacsai
9fd2a21f24 fix(domains): close edit modal after save and drop Lima seeds
Dispatch edit-domain-saved so Alpine closes the domain edit modal,
wire Save to updateDomain, and force white active log toolbar text in
dark mode. Seed railpack examples on the local Docker destination only
and remove Lima servers, environments, and V5DevLimaSeeder.
2026-08-06 13:45:19 +02:00
Andras Bacsai
4d35c63d89 feat(ui): show internal hostname and densify config UI
Add an application Internal access section that loads the running
container hostname (skipped for Compose apps), densify configuration
diff and popup-small defaults, dock the server-timing HUD into the
mobile top bar, restyle the 2FA challenge with the auth shell, and
enforce 16px mobile form fonts to prevent iOS zoom.
2026-08-05 21:24:25 +02:00
Andras Bacsai
5de6f97256 feat(ui): unify resource nav sidebars and polish project layouts
Extract application/database/service configuration sidebars and
unified headings; improve clone-to-environment, embedded deployments,
storage actions, OAuth icons, terminal, and shared form components.
2026-08-05 17:56:59 +02:00
Andras Bacsai
a7a06aa6c8 feat(ui): polish domains, storage, env vars and resource nav
Improve project resource UIs: sort domains by DNS failure, stop re-adding www pairs on refresh, lazy-load storage tabs with counts, tighten env-var tables, keep application tabs active across Livewire polls, unify database type labels, and update related CSS/JS and tests.
2026-08-05 13:50:11 +02:00
Andras Bacsai
8ae56587d5
feat(ui): Shadow UI redesign, domain management, and DNS autoconfigure (#11119)
Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com>
2026-08-03 23:11:54 +02:00
Andras Bacsai
0b843bb07c
fix(compose): normalize service-name keys for domains and env vars (#11040) 2026-08-03 23:08:56 +02:00
Mike Chong
a26091de0a feat: self-hosted GitLab Apps OAuth integration
Adds self-hosted GitLab OAuth sources so Coolify can connect to a self-managed GitLab instance, list private repositories, clone over an OAuth token, and deploy (the GitLab counterpart to GitHub Apps).

Hardening: authenticated, one-time team-bound OAuth callback state; token redaction in deploy logs; custom host port/path kept in clone and ls-remote URLs; submodule OAuth auth; system-wide source selection. Covered by unit and feature tests.

cosigned by OpenAI Codex at M1 Max
2026-07-20 23:21:40 +02:00
Andras Bacsai
72a0a57f0e fix(backups): enforce authorization and safe retention
- Gate volume backup retention and S3 controls by update permission
- Preserve backup records when S3 deletion fails
- Share SFTP download streaming with consistent missing-file handling
- Handle schedule creation errors and link service database backups
2026-07-19 23:15:55 +02:00
Andras Bacsai
d7385ad0c4 feat(backups): support scheduled backups for application storage targets
Add polymorphic volume backup scheduling for persistent volumes and directories, expose schedule management via API, and reorganize backup configuration and execution views.
2026-07-15 17:34:22 +02:00
Andras Bacsai
63961e0799 feat(backups): add scheduled persistent volume backups 2026-07-15 15:47:57 +02:00
Andras Bacsai
54adea26c2 Merge remote-tracking branch 'origin/next' into feat/noindex-domains 2026-07-14 14:04:06 +02:00
Andras Bacsai
99e255a572 fix(deployment): detect application configuration changes consistently
Expand configuration snapshots, handle defaults from older snapshots, and refresh configuration state after Livewire setting changes.
2026-07-14 12:54:31 +02:00
Alberto Rizzi
4afe131905 feat(domains): add per-domain noindex support
Flagged domains are served with X-Robots-Tag: noindex, nofollow via
Traefik and Caddy routing labels, so an auto-generated technical domain
can be excluded from indexing while the production domain on the same
resource stays indexable.
2026-07-12 13:59:09 +02:00
Andras Bacsai
c6c7ec1c31 fix(security): validate application domains safely
Use shared domain validation and normalization for application, service, and
preview domains so unsafe host input is rejected consistently.

Cover command-substitution payloads in application domain tests.
2026-07-02 17:47:04 +02:00
Andras Bacsai
062ad57740 fix(security): enforce team access on mutable actions
Authorize cloud provider token access, audit sensitive operations, and
standardize public IDs across deployment and resource flows.
2026-06-04 11:03:06 +02:00
Andras Bacsai
9dca7ca351 Merge remote-tracking branch 'origin/next' into audit-policies 2026-06-04 10:18:54 +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
973632b49c Merge remote-tracking branch 'origin/next' into audit-policies 2026-06-02 12:03:38 +02:00