From 7103dccc72817fcfc14adb4e6e66a0806babc1a0 Mon Sep 17 00:00:00 2001 From: Vahor Date: Tue, 27 Aug 2024 19:09:04 +0200 Subject: [PATCH] add env vars for compose base apps --- app/Jobs/ApplicationDeploymentJob.php | 4 ++++ app/Models/Application.php | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php index fe22292d4..ce798c715 100644 --- a/app/Jobs/ApplicationDeploymentJob.php +++ b/app/Jobs/ApplicationDeploymentJob.php @@ -905,6 +905,8 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue $envs->push("COOLIFY_CONTAINER_NAME={$this->container_name}"); } } + + // TODO: move this in a shared function if ($this->application->environment_variables_preview->where('key', 'COOLIFY_APP_NAME')->isEmpty()) { $envs->push("COOLIFY_APP_NAME={$this->application->name}"); } @@ -966,6 +968,8 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue $envs->push("COOLIFY_CONTAINER_NAME={$this->container_name}"); } } + + // TODO: move this in a shared function if ($this->application->environment_variables->where('key', 'COOLIFY_APP_NAME')->isEmpty()) { $envs->push("COOLIFY_APP_NAME={$this->application->name}"); } diff --git a/app/Models/Application.php b/app/Models/Application.php index bb4dcdd0e..c788dd998 100644 --- a/app/Models/Application.php +++ b/app/Models/Application.php @@ -1471,6 +1471,20 @@ class Application extends BaseModel if ($this->environment_variables->where('key', 'COOLIFY_CONTAINER_NAME')->isEmpty()) { $environment->put('COOLIFY_CONTAINER_NAME', $containerName); } + // TODO: move this in a shared function + if ($this->environment_variables->where('key', 'COOLIFY_APP_NAME')->isEmpty()) { + $environment->push("COOLIFY_APP_NAME={$this->database->name}"); + } + if ($this->environment->where('key', 'COOLIFY_SERVER_IP')->isEmpty()) { + $environment->push("COOLIFY_SERVER_IP={$this->database->destination->server->ip}"); + } + if ($this->environment->where('key', 'COOLIFY_ENVIRONMENT_NAME')->isEmpty()) { + $environment->push("COOLIFY_ENVIRONMENT_NAME={$this->database->environment->name}"); + } + if ($this->environment->where('key', 'COOLIFY_PROJECT_NAME')->isEmpty()) { + $environment->push("COOLIFY_PROJECT_NAME={$this->database->project()->name}"); + } + // Remove SERVICE_FQDN and SERVICE_URL from environment $environment = $environment->filter(function ($value, $key) { return ! str($key)->startsWith('SERVICE_FQDN') && ! str($key)->startsWith('SERVICE_URL');