From 18e98aaf52e171c96d668093ddf85e4057fcd8b5 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Nov 2023 14:09:24 +0100 Subject: [PATCH] Add S3 storage to Livewire components and fix backup job network issue --- app/Http/Livewire/Project/Database/ScheduledBackups.php | 2 ++ app/Http/Livewire/Project/Service/Show.php | 3 +++ app/Http/Livewire/Settings/Backup.php | 1 - app/Jobs/DatabaseBackupJob.php | 8 ++++++-- .../livewire/project/database/scheduled-backups.blade.php | 2 +- resources/views/livewire/project/service/show.blade.php | 2 +- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/Http/Livewire/Project/Database/ScheduledBackups.php b/app/Http/Livewire/Project/Database/ScheduledBackups.php index baac1bb99..ec20b1adb 100644 --- a/app/Http/Livewire/Project/Database/ScheduledBackups.php +++ b/app/Http/Livewire/Project/Database/ScheduledBackups.php @@ -11,6 +11,7 @@ class ScheduledBackups extends Component public $type; public $selectedBackup; public $selectedBackupId; + public $s3s; protected $listeners = ['refreshScheduledBackups']; protected $queryString = ['selectedBackupId']; @@ -25,6 +26,7 @@ class ScheduledBackups extends Component } else { $this->type = 'database'; } + $this->s3s = currentTeam()->s3s; } public function setSelectedBackup($backupId) { $this->selectedBackupId = $backupId; diff --git a/app/Http/Livewire/Project/Service/Show.php b/app/Http/Livewire/Project/Service/Show.php index 958fd595a..53f5033f4 100644 --- a/app/Http/Livewire/Project/Service/Show.php +++ b/app/Http/Livewire/Project/Service/Show.php @@ -16,6 +16,8 @@ class Show extends Component public array $parameters; public array $query; public Collection $services; + public $s3s; + protected $listeners = ['generateDockerCompose']; public function mount() @@ -33,6 +35,7 @@ class Show extends Component $this->serviceDatabase = $this->service->databases()->whereName($this->parameters['service_name'])->first(); $this->serviceDatabase->getFilesFromServer(); } + $this->s3s = currentTeam()->s3s; } catch(\Throwable $e) { return handleError($e, $this); } diff --git a/app/Http/Livewire/Settings/Backup.php b/app/Http/Livewire/Settings/Backup.php index 916344ddc..7a5e2f0ed 100644 --- a/app/Http/Livewire/Settings/Backup.php +++ b/app/Http/Livewire/Settings/Backup.php @@ -69,7 +69,6 @@ class Backup extends Component ]); $this->database->refresh(); $this->backup->refresh(); - ray($this->backup); $this->s3s = S3Storage::whereTeamId(0)->get(); } diff --git a/app/Jobs/DatabaseBackupJob.php b/app/Jobs/DatabaseBackupJob.php index 1fc1a02d6..94e907834 100644 --- a/app/Jobs/DatabaseBackupJob.php +++ b/app/Jobs/DatabaseBackupJob.php @@ -364,8 +364,12 @@ class DatabaseBackupJob implements ShouldQueue, ShouldBeEncrypted $bucket = $this->s3->bucket; $endpoint = $this->s3->endpoint; $this->s3->testConnection(); - $commands[] = "docker run --pull=always -d --network {$this->database->destination->network} --name backup-of-{$this->backup->uuid} --rm -v $this->backup_location:$this->backup_location:ro ghcr.io/coollabsio/coolify-helper >/dev/null 2>&1"; - + if (data_get($this->backup, 'database_type') === 'App\Models\ServiceDatabase') { + $network = $this->database->service->destination->network; + } else { + $network = $this->database->destination->network; + } + $commands[] = "docker run --pull=always -d --network {$network} --name backup-of-{$this->backup->uuid} --rm -v $this->backup_location:$this->backup_location:ro ghcr.io/coollabsio/coolify-helper"; $commands[] = "docker exec backup-of-{$this->backup->uuid} mc config host add temporary {$endpoint} $key $secret"; $commands[] = "docker exec backup-of-{$this->backup->uuid} mc cp $this->backup_location temporary/$bucket{$this->backup_dir}/"; instant_remote_process($commands, $this->server); diff --git a/resources/views/livewire/project/database/scheduled-backups.blade.php b/resources/views/livewire/project/database/scheduled-backups.blade.php index b2be851a6..091d41287 100644 --- a/resources/views/livewire/project/database/scheduled-backups.blade.php +++ b/resources/views/livewire/project/database/scheduled-backups.blade.php @@ -26,7 +26,7 @@ @if ($type === 'service-database' && $selectedBackup)
-

Executions

Scheduled Backups + Add
- + @endisset