1323 Commits
Author SHA1 Message Date
Andras Bacsai fc9e61b7b4 feat(services): open resource settings in a modal with restart limits
Move service application and database settings into an embedded modal with a footer, subtitle helper, and Docker restart-count control. Accept max_restart_count on the service applications API, cap compose YAML collection aliases, and tighten status, backup, and database sidebar layouts.
2026-09-10 17:39:56 +02:00
Andras Bacsai d24ee35824 fix(s3): allow uppercase letters in S3 bucket names
S3-compatible and legacy buckets may include uppercase letters. Relax the bucket name pattern, validation messages, and tests so those names are accepted while still rejecting invalid characters and formats.
2026-09-10 15:12:53 +02:00
Andras Bacsai 6028461f92 fix(domains): unify editing and queued DNS checks
Add indexing, redirect, and hostname regeneration controls to domain editors. Queue DNS checks only for scheme or hostname changes and show progress consistently across application, service, and preview domains.
2026-09-10 14:00:50 +02:00
Andras Bacsai 36befcfecd fix(service): avoid storing inherited ports as overrides 2026-09-10 12:08:06 +02:00
Andras Bacsai b39928d631 fix: support generic SSH Git usernames (#11685) 2026-09-08 20:51:15 +02:00
Andras Bacsai 83714ea395 fix(git): parse generic scp-style SSH URLs with custom users
Centralize scp-style Git URL parsing so user@host:path (including custom
usernames and embedded ports) is accepted and converted to HTTPS for
public clones, API create, webhooks, validation, and commit/branch links.
2026-09-08 20:33:45 +02:00
peaklabs-dev d25edb8551 fix(terminal): distinguish application containers across servers 2026-09-08 19:43:05 +02:00
Florian Pfitzer e9bf2551ed fix: support generic SSH Git usernames 2026-09-08 16:11:56 +02:00
Andras Bacsai 4a3dc11958 feat(ui): polish env editor, error buttons, and modal layout 2026-09-08 11:49:02 +02:00
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 b123356acd feat: add backup controls, resource search, and Sentinel enablement
Unify service backup history with pagination, schedule settings actions, S3 destination details, and team-safe access checks. Display server built-ins as read-only variables and add loading and empty states for searchable resources.
2026-09-07 16:46:37 +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 0b462f6a58 feat(backups): alert when scheduled backups are missing (#11433) 2026-09-07 14:09:42 +02:00
Andras Bacsai 2a25e0490e fix(storage): persist S3 settings for new volume backups (#11635) 2026-09-05 15:18:26 +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
🏔️ Peak 94bf7910ad fix(service): persist service database public access (#11633) 2026-09-05 14:00:58 +02:00
Andras Bacsai 9c3fb1da39 fix(domains): limit instance addresses to localhost DNS hints 2026-09-04 20:56:08 +02:00
Andras Bacsai 5ff2110397 fix(environment-variables): preserve generated Compose variables
Exclude protected Compose variables from bulk deletion and developer views, and propagate deletion failures correctly.
2026-09-04 17:01:42 +02:00
peaklabs-dev 8dc35e2b5f fix: TypeError when adding a new scheduled task 2026-09-04 15:27:24 +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
ShadowArcanist 76414296a6 fix(ui): typo on storage delete modal (#11541) 2026-09-03 18:12:06 +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 BacsaiandClaude Fable 5 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 e4146a6314 feat(backups): unify service backup management (#11574) 2026-08-31 22:51:30 +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 67b33c27a9 fix(applications): persist restart limit state for stopped containers (#11566) 2026-08-31 13:13:26 +02:00
Andras Bacsai e514a2d61f fix(resources): dispatch deletion cleanup after response 2026-08-30 20:37:05 +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 28fb694fcb fix: preserve custom names and use Livewire redirects
Resolve custom container names consistently, clean up legacy container names during deployments, and route Livewire resource redirects through the navigation helper.
2026-08-28 09:46:57 +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 97831ef06e feat(media): serve avatars and project icons from S3 or CDN 2026-08-27 22:32:16 +02:00
Andras Bacsai 7b7d5a0aad fix(services): add CDN and default logo fallbacks 2026-08-27 13:45:26 +02:00
Andras Bacsai d9f0820a6f fix(database): restore custom PostgreSQL backup archives (#11481) 2026-08-24 16:27:45 +02:00
Andras Bacsai 50913dc409 fix(livewire): refresh service config after required variable updates 2026-08-24 09:45:31 +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 7bbd91175f Revert "Merge branch 'next' into main"
This reverts commit 2598f3e4c8, reversing
changes made to 83f1a2e503.
2026-08-21 12:12:56 +02:00
github-actions[bot] 9866593a51 Merge remote-tracking branch 'origin/main' into next 2026-08-20 10:50:16 +00:00
peaklabs-dev 88ec944be7 fix(var): fail on missing user when hiding env values 2026-08-19 15:22:25 +02:00
peaklabs-dev afbe4d6fd7 feat(var): add environment variable copy functionality 2026-08-19 15:11:49 +02:00
Andras Bacsai 13a577a731 fix: align resource access checks 2026-08-19 15:05:51 +02:00
Andras Bacsai 937892b3ea fix(storage): guard volume names and authorize source removal 2026-08-19 13:15:15 +02:00
Andras Bacsai f5f904a403 refactor(storage): separate volumes from directory mounts 2026-08-18 20:01:36 +02:00
Andras Bacsai e62a2d45a0 Merge branch 'next' into remove-local-volume-source 2026-08-18 19:59:23 +02:00
Helge SverreandAndras Bacsai 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 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