peaklabs-dev
a33fd9a36e
feat(database): add sqlite as a standalone database type
2026-09-24 19:03:42 +02:00
peaklabs-dev
01f7d5ab92
feat(database): add StandaloneSqlite model and migration
2026-09-24 19:03:42 +02:00
Andras Bacsai
c390f72ecf
fix(storage): dispatch file saves after commit
2026-09-24 12:51:29 +02:00
Andras Bacsai
4b8c50a546
Improve file storage metadata handling
2026-09-24 12:28:12 +02:00
Andras Bacsai
2880a73684
fix(api): align token permission handling
2026-09-24 12:25:46 +02:00
Andras Bacsai
26248ca161
fix(backups): improve backup command handling
2026-09-24 11:44:53 +02:00
Andras Bacsai
50643a44f8
Keep deployment logging available on formatting errors
2026-09-24 09:36:59 +02:00
Andras Bacsai
b37d24d258
Improve deployment log value handling
2026-09-24 09:29:23 +02:00
Andras Bacsai
2a3061adf5
Keep server creation consistent across entry points
2026-09-24 08:06:25 +02:00
Andras Bacsai
0c80bf622d
Improve team invitation handling
2026-09-24 07:10:32 +02:00
Andras Bacsai
cfe8a800cf
Improve raw Compose volume path handling
2026-09-22 21:34:38 +02:00
Andras Bacsai
99dd634ba3
Improve file storage handling
2026-09-22 21:13:39 +02:00
Andras Bacsai
67dd34bce7
Merge remote-tracking branch 'origin/next' into reverb-realtime-migration
2026-09-21 21:32:19 +02:00
Andras Bacsai
20a72f0f80
feat: deprecate new Docker Swarm usage and group referrers
2026-09-21 16:45:21 +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
af75492c83
feat(deployments): add team policy for build server fallback
...
Allow teams to choose whether deployments fall back to the deployment server when no usable dedicated build server is available.
2026-09-19 14:16:30 +02:00
Andras Bacsai
19949a6f6f
feat(scheduling): persist and claim scheduled job occurrences
...
Add database-backed schedule states and deliveries so distributed schedulers publish each occurrence once, queue jobs claim executions atomically, and stale occurrences are cleaned up.
2026-09-18 13:56:40 +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
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
github-actions[bot]
69d1e89ac2
Merge remote-tracking branch 'origin/main' into next
2026-09-16 03:14:20 +00:00
Andras Bacsai
ab30f95ad9
feat(restarts): make resource restart limits opt-in
...
Default restart limits to zero for applications, previews, and services, and bump the Coolify version to 4.3.21.
2026-09-15 12:58:59 +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
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
0134401f7c
fix(service): write compose .env files atomically via temp rename
...
Replace direct .env overwrite with a unique temp file and mv so a
partial write cannot leave a truncated environment file on disk.
2026-09-10 09:24:37 +02:00
peaklabs-dev
9faa4f4b7c
Merge branch 'main' into next
2026-09-09 15:32:27 +02:00
peaklabs-dev
6ad739a53c
feat(docker): limit container name prefixes to 30 characters
2026-09-09 15:01:57 +02:00
peaklabs-dev
266d414a04
feat(docker): add container name prefix for generated container names
2026-09-09 15:01:57 +02:00
Andras Bacsai
936a2566c6
fix(analytics): hide traffic UI when disabled and skip default-on ( #11700 )
2026-09-09 14:28:15 +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
Aditya Tripathi
f511921895
fix(teams): guard current_team_id clear against concurrent writes
...
Make clearStoredTeamIfMatches perform an atomic conditional UPDATE
so a concurrent team switch isn't clobbered, and call it for the
deleting owner in DeleteTeam so their stored team id doesn't point
at a deleted team. refreshSession now falls back to
resolveStoredTeam() instead of an arbitrary first team. Add a
return type to SelectTeam::render() and tests covering owner
deletion and concurrent-selection preservation.
2026-09-08 14:44:39 +02:00
Aditya Tripathi
2b92fb86b5
fix(teams): clear stale current_team_id when membership ends
...
Reset the user's persisted current_team_id when they are removed from
a team, when their team is deleted, or when refreshSession finds no
team left, so a dangling reference is never restored on next login.
2026-09-08 14:44:39 +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
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
b351e94c98
fix(api): return task execution duration as float ( #11636 )
2026-09-05 15:18:51 +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
2ebbc5113e
fix: return null for invalid repository URLs
2026-09-04 15:44:18 +02:00
Andras Bacsai
053b030c42
fix: remove database restart limits and clear stale Traefik state
...
Drop restart-limit fields and enforcement from database resources, clear cached Traefik version data when proxies change, and show missing service environment variables from disabled deploy actions.
2026-09-04 15:42:26 +02:00
peaklabs-dev
85ec70643f
refactor(notifications): build scheduled task links from the instance url
...
- replace the taskLink() helpers on Application and Service with links built from base_url() in the task notifications
2026-09-04 15:04:51 +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