peaklabs-dev
92f8b806ea
feat(auth): authorize sqlite databases with the database policy
2026-09-24 19:03:42 +02:00
Andras Bacsai
3f47bae0b6
fix(service): save switches without saving pending Compose edits ( #11985 )
2026-09-24 13:43:37 +02:00
Andras Bacsai
74cc617a4c
Keep API deployment behavior consistent ( #11969 )
2026-09-24 08:22:51 +02:00
Andras Bacsai
40b31b4a57
Align API deployment permissions
2026-09-24 08:19:02 +02:00
Andras Bacsai
2a3061adf5
Keep server creation consistent across entry points
2026-09-24 08:06:25 +02:00
Andras Bacsai
d071a5df81
Improve Git source HTTP handling
2026-09-23 23:09:04 +02:00
Andras Bacsai
4b7ccfe9cd
fix: align application image validation
2026-09-23 21:45:06 +02:00
Andras Bacsai
7c86e53422
fix(service): support metadata-only deletion on unreachable servers
...
Add a Coolify-only deletion path, improve Docker cleanup handling, and notify teams when service deletion fails.
2026-09-23 10:50:31 +02:00
Andras Bacsai
99dd634ba3
Improve file storage handling
2026-09-22 21:13:39 +02:00
Andras Bacsai
e3ab63e7d8
fix(reverb): align ports, host validation, and dev instance tooling
2026-09-22 09:58:28 +02:00
Andras Bacsai
bfb732bbe8
fix(webhooks): validate preview repository metadata
2026-09-21 16:53:50 +02:00
Andras Bacsai
19f0ae9a7d
fix(webhooks): reject incomplete Stripe configuration ( #11915 )
2026-09-21 15:36:20 +02:00
Andras Bacsai
735187868c
fix(webhooks): reject incomplete Stripe configuration
2026-09-21 15:35:31 +02:00
Andras Bacsai
865ebe0bdd
fix(auth): improve OAuth sign-in handling
2026-09-21 14:00:14 +02:00
Andras Bacsai
1c408fb408
feat(audit): expand event tracking and remove scheduled job monitoring
...
Add audit levels and record user, OAuth, DNS, notification, and settings changes while removing the obsolete scheduled job monitoring UI and services.
2026-09-21 12:23:42 +02:00
Andras Bacsai
a29f02fbb1
Merge remote-tracking branch 'origin/main' into pr-11443-next
...
# Conflicts:
# openapi.json
# openapi.yaml
# resources/views/livewire/project/application/heading.blade.php
# resources/views/livewire/project/service/heading.blade.php
2026-09-19 17:44:44 +02:00
Andras Bacsai
383a5a742f
feat(servers): add configurable deployment and build roles
...
Introduce deployment, build, and dual-purpose server roles, with API and UI support, build-server fallback controls, and role-aware resource hosting.
2026-09-19 17:22:13 +02:00
Andras Bacsai
23f24f8425
feat(api): expose runtime logs for preview deployments ( #11884 )
2026-09-18 14:41:55 +02:00
Andras Bacsai
ebfd4d0c1c
Merge remote-tracking branch 'origin/main' into pr-11443-next
...
# Conflicts:
# app/Actions/Server/StartSentinel.php
# app/Livewire/Server/Sentinel.php
# resources/views/livewire/project/shared/storages/all.blade.php
# resources/views/livewire/project/shared/storages/show.blade.php
2026-09-18 12:00:04 +02:00
Andras Bacsai
128939b062
fix(storages): remove host path from storage configuration
2026-09-16 14:24:52 +02:00
Andras Bacsai
16b092336e
feat(sentinel): track synchronization state and refresh status UI
...
Add sentinel waiting-state tracking, synchronization broadcasts, and restore
status handling across server and application interfaces.
2026-09-16 12:51:27 +02:00
Andras Bacsai
2c1744fbd2
Merge remote-tracking branch 'origin/next' into pr-11784-automation/sync-main-to-next
2026-09-14 13:30:17 +02:00
Andras Bacsai
6a8cee4630
Merge remote-tracking branch 'origin/next' into automation/sync-main-to-next
2026-09-14 13:26:19 +02:00
Andras Bacsai
7d11bc92f7
feat(logs): accept all for log lines and keep -1
...
API log endpoints and the GetLogs UI now treat `all` as unbounded
output, with `-1` remaining as a compatibility alias. MCP still
falls back to a positive default. Traefik version checks run from
CheckForUpdatesJob instead of a weekly schedule.
2026-09-13 15:25:20 +02:00
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
peaklabs-dev
9faa4f4b7c
Merge branch 'main' into next
2026-09-09 15:32:27 +02:00
peaklabs-dev
0d8ef9411f
feat(api): allow setting the container name prefix
2026-09-09 15:01:57 +02:00
Andras Bacsai
7109a11826
fix: queue import cleanup and scope DNS record updates
...
Move database import temp/container cleanup into a queued listener with retries, and clear the import running state on failed restore starts. Tighten Cloudflare replace/delete to the current server IP and owning resource, notify when DNS jobs fail, and pass domain-removal confirmation through remove-by-key. Document import request oneOf schemas without extra properties.
2026-09-09 13:43:56 +02:00
Andras Bacsai
b5ca99c69d
fix(api): return invalid token for database import endpoints
...
Import upload/create/show now return invalidTokenResponse() when the
access token has no team, matching the rest of the database API.
2026-09-09 13:09:31 +02:00
Andras Bacsai
25e61deefd
fix(api): reject unknown fields on database import
...
Run validator fails() before adding extra-field errors so Laravel does not replace the message bag and accept undocumented properties.
2026-09-09 13:06:18 +02:00
Andras Bacsai
4accae95b5
feat(database): add replace-existing option for PostgreSQL restores
...
Allow single-database PostgreSQL imports to drop matching objects before restore. The API and import form accept replace_existing, which adds --clean --if-exists to pg_restore, and pg_restore now uses --exit-on-error.
2026-09-09 11:48:17 +02:00
Andras Bacsai
ab3b3926aa
feat: add database import API and Cloudflare DNS management
...
Queue database imports from upload, S3, or server paths via REST, and
manage Cloudflare DNS records from integration tokens and domain UIs.
2026-09-09 11:14:22 +02:00
Andras Bacsai
424dbd36ff
feat(sentinel): make sentinel mandatory on regular servers
...
Remove the enable/disable toggle from the server UI, logs page, and
Sentinel API so is_sentinel_enabled is derived and read-only. Enable
existing regular servers via migration, start Sentinel after validate-
and-install, and drop the daily ServerManagerJob restart.
2026-09-09 06:30:32 +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
Florian Pfitzer
e9bf2551ed
fix: support generic SSH Git usernames
2026-09-08 16:11:56 +02:00
Aditya Tripathi
12498b4b86
feat(teams): persist active team and add team selection screen
...
Add current_team_id to users so the last active team is restored on
login instead of always defaulting to the personal team. When a user
belongs to multiple teams and has no valid stored choice, redirect
them to a new team.select screen (SelectTeam Livewire component) to
pick one, rather than silently choosing the first team. Update
Fortify and OAuth login flows to use the new resolveStoredTeam()
logic.
2026-09-08 14:44:39 +02:00
Andras Bacsai
f359778115
Merge remote-tracking branch 'origin/next' into coolify-analytics-traefik-caddy
...
# Conflicts:
# resources/views/components/forms/listbox.blade.php
2026-09-08 11:55:49 +02:00
Andras Bacsai
09e9822264
Merge remote-tracking branch 'origin/next' into automation/sync-main-to-next
...
# Conflicts:
# app/Actions/Database/StartDatabase.php
# app/Models/StandaloneClickhouse.php
# app/Models/StandaloneDragonfly.php
# app/Models/StandaloneKeydb.php
# app/Models/StandaloneMariadb.php
# app/Models/StandaloneMongodb.php
# app/Models/StandaloneMysql.php
# app/Models/StandalonePostgresql.php
# app/Models/StandaloneRedis.php
# resources/views/livewire/project/shared/storages/all.blade.php
# tests/Feature/PersistentStorageVolumesLayoutTest.php
# tests/Feature/UserSeederTest.php
2026-09-08 10:02:12 +02:00
Andras Bacsai
c68259cddf
Merge remote-tracking branch 'origin/next' into coolify-analytics-traefik-caddy
2026-09-07 20:28:42 +02:00
Andras Bacsai
0b462f6a58
feat(backups): alert when scheduled backups are missing ( #11433 )
2026-09-07 14:09:42 +02:00
Andras Bacsai
778a698553
fix(api): align service domain validation with UI rules
2026-09-07 14:01:48 +02:00
Andras Bacsai
3764771293
fix(webhooks): handle closed PRs after base branch changes ( #11634 )
2026-09-05 15:18:59 +02:00
Andras Bacsai
47c61feb84
fix(api): persist Docker Compose domain ports as overrides
...
Normalize Compose domains on create and update, retaining explicit ports in
`domain_port_overrides` while storing port-free domain values. Preserve empty
Compose FQDNs and cover both API flows with feature tests.
2026-09-05 14:24:24 +02:00
Andras Bacsai
3c0e43f482
feat(settings): configure CDN URL for stored images
...
Add a persisted instance setting for S3 image CDN URLs and use it when building image links. Cache profile avatars and project icons with immutable one-year headers.
2026-09-04 21:15:06 +02:00
Andras Bacsai
9ef1ab7649
Merge remote-tracking branch 'origin/next' into automation/sync-main-to-next
...
# Conflicts:
# app/Actions/Database/StartDatabase.php
# app/Jobs/ApplicationDeploymentJob.php
# app/Livewire/Project/Shared/EnvironmentVariable/Show.php
# app/Models/Application.php
# app/Models/Service.php
# app/Models/StandaloneClickhouse.php
# app/Models/StandaloneDragonfly.php
# app/Models/StandaloneKeydb.php
# app/Models/StandaloneMariadb.php
# app/Models/StandaloneMongodb.php
# app/Models/StandaloneMysql.php
# app/Models/StandalonePostgresql.php
# app/Models/StandaloneRedis.php
# resources/views/livewire/project/application/heading.blade.php
# resources/views/livewire/project/service/heading.blade.php
# tests/Feature/PersistentStorageVolumesLayoutTest.php
2026-09-02 21:19:57 +02:00
Andras Bacsai
e2e91fbb85
feat(domains): support per-domain internal port overrides ( #11594 )
2026-09-02 19:39:19 +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
45f9a33985
fix(resources): schedule stuck cleanup and delete metadata before jobs
...
Soft-delete API resources before dispatching cleanup jobs and run stuck-resource cleanup daily on one server.
2026-08-25 20:25:40 +02:00
peaklabs-dev
58d074721c
Merge remote-tracking branch 'origin/main' into next
2026-08-24 19:47:51 +02:00
Erick Licona Morales
2b5fd8e2ec
fix(api): accept cuid for private_key_uuid on GitHub App update ( #11468 )
2026-08-24 19:44:56 +02:00