|
7 | 7 | use Illuminate\Database\Eloquent\Relations\HasMany;
|
8 | 8 | use Illuminate\Database\Eloquent\SoftDeletes;
|
9 | 9 | use Illuminate\Support\Collection;
|
| 10 | +use Illuminate\Support\Facades\Storage; |
10 | 11 | use OpenApi\Attributes as OA;
|
11 | 12 | use Spatie\Url\Url;
|
12 |
| -use Symfony\Component\Yaml\Yaml; |
| 13 | +use Visus\Cuid2\Cuid2; |
13 | 14 |
|
14 | 15 | #[OA\Schema(
|
15 | 16 | description: 'Service model',
|
@@ -999,14 +1000,18 @@ public function workdir()
|
999 | 1000 | public function saveComposeConfigs()
|
1000 | 1001 | {
|
1001 | 1002 | $workdir = $this->workdir();
|
1002 |
| - $commands[] = "mkdir -p $workdir"; |
1003 |
| - $commands[] = "cd $workdir"; |
1004 | 1003 |
|
1005 |
| - $json = Yaml::parse($this->docker_compose); |
1006 |
| - $this->docker_compose = Yaml::dump($json, 10, 2, Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK); |
1007 |
| - $docker_compose_base64 = base64_encode($this->docker_compose); |
| 1004 | + instant_remote_process([ |
| 1005 | + "mkdir -p $workdir", |
| 1006 | + "cd $workdir", |
| 1007 | + ], $this->server); |
| 1008 | + |
| 1009 | + $filename = new Cuid2.'-docker-compose.yml'; |
| 1010 | + Storage::disk('local')->put("tmp/{$filename}", $this->docker_compose); |
| 1011 | + $path = Storage::path("tmp/{$filename}"); |
| 1012 | + instant_scp($path, "{$workdir}/docker-compose.yml", $this->server); |
| 1013 | + Storage::disk('local')->delete("tmp/{$filename}"); |
1008 | 1014 |
|
1009 |
| - $commands[] = "echo $docker_compose_base64 | base64 -d | tee docker-compose.yml > /dev/null"; |
1010 | 1015 | $commands[] = 'rm -f .env || true';
|
1011 | 1016 |
|
1012 | 1017 | $envs_from_coolify = $this->environment_variables()->get();
|
|
0 commit comments