This PR adds automatic database detection for Docker Compose Applications (deployed via GitHub App / git-based sources) and enables scheduled backup support for those databases — the same backup functionality that already exists for Service-based Docker Compose resources.
When using Docker Compose via the Application path (GitHub App, git source, etc.), database containers (PostgreSQL, MySQL, MariaDB, MongoDB) are deployed but Coolify has no awareness they are databases. Users cannot schedule backups for these databases through the UI, unlike databases deployed through the Service path.
Database Detection (\ootstrap/helpers/shared.php)
Model & Migration (\ServiceDatabase, \Application)
Backup Job Support (\DatabaseBackupJob)
Container Status Monitoring (\PushServerUpdateJob)
UI (new Livewire components + blade views)
Cleanup & Consistency
| File | Change |
|---|---|
| \database/migrations/2026_01_28_000001_…\ | New: adds \pplication_id\ to \service_databases\ |
| \pp/Models/ServiceDatabase.php\ | Dual-path methods, \pplication()\ relationship |
| \pp/Models/Application.php\ | \composeDatabases()\ relationship |
| \ootstrap/helpers/shared.php\ | Database detection in Application compose parsing |
| \pp/Jobs/DatabaseBackupJob.php\ | Application-aware backup execution |
| \pp/Jobs/PushServerUpdateJob.php\ | Compose database status tracking |
| \pp/Jobs/DeleteResourceJob.php\ | Compose database cleanup on delete |
| \pp/Livewire/Project/Application/ComposeDatabaseList.php\ | New: database list component |
| \pp/Livewire/Project/Application/ComposeDatabaseBackups.php\ | New: backup management page |
| \ | |
| esources/views/livewire/…/compose-database-list.blade.php\ | New: database list UI |
| \ | |
| esources/views/livewire/…/compose-database-backups.blade.php\ | New: backup scheduling UI |
| \ | |
| esources/views/livewire/…/configuration.blade.php\ | Database Backups tab |
| \ | |
| outes/web.php\ | New routes for compose database backups |
| \pp/Livewire/Project/Database/BackupEdit.php\ | Uses \getServer()\ |
| \pp/Livewire/Project/Database/BackupExecutions.php\ | Uses \getServer()\ |
| \pp/Livewire/Project/Database/Import.php\ | Compose database support |
| \pp/Models/ScheduledDatabaseBackup.php\ | Uses \getServer()\ |
Resolves #7528 /claim #7528
nexicturbo
@nexicturbo
Ilias Ism
@me