dockercompose buildpack) not detecting database services and not creating ServiceDatabase records, which prevented automated backupsapplication_id FK to service_databases table so a ServiceDatabase can belong to either a Service (existing behavior) or a docker-compose ApplicationServiceDatabase records during Application model parsing in parseDockerComposeFile() when database images are detected via isDatabaseImage()dockercompose build pack applicationsResolves https://github.com/coollabsio/coolify/issues/7528
/claim #7528
application_id (FK to applications) to service_databases table, makes service_id nullableapplication() relationship, getOwner(), getOwnerUuid(), getServer(), getNetwork() helper methods. Updated team(), workdir(), restart(), getServiceDatabaseUrl(), ownedByCurrentTeam(), ownedByCurrentTeamAPI() to handle both ownership typescomposeDatabases() relationship. Cleanup of compose databases when switching away from dockercompose build packparseDockerComposeFile(), after isDatabaseImage() detection, creates/updates ServiceDatabase records with application_id (skips preview deployments)ServiceDatabase records when services are removed from the compose fileDatabaseBackupJob: Server resolution, container naming, network for S3 uploadStartDatabaseProxy / StopDatabaseProxy: Network, server, container name resolutionGetContainersStatus: Owner UUID resolution for TCP proxy detectionScheduledDatabaseBackup: Server resolutionBackupExecutions, BackupEdit, Import: Server resolution, redirect handlingLocalFileVolume: Server resolution for file storage operationsdatabases.php helper: Server resolution for backup cleanupweb.php download route: Server resolution for backup downloadsgetResourceByUuid: Team ownership check for Application-owned ServiceDatabasesdockercompose build pack)ComposeBackups Livewire component with database selector and backup managementdockercompose buildpack via the GitHub App flowdocker-compose.yml containing a database service (e.g., postgres:16-alpine) and at least one non-database service[!IMPORTANT]
- I have read and understood the contributor guidelines. If I have failed to follow any guideline, I understand that this PR may be closed without review.
- I have tested the changes thoroughly and am confident that they will work as expected without issues when the maintainer tests them
buildingvibes
@buildingvibes
Ilias Ism
@me