From b9846c08ccc92f45986443070ec168b385785de2 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Mon, 10 Nov 2025 14:42:34 +0100 Subject: [PATCH] fix: ensure unique environment files are included for applications and services --- bootstrap/helpers/parsers.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/bootstrap/helpers/parsers.php b/bootstrap/helpers/parsers.php index 9b17e6810..6eb98e457 100644 --- a/bootstrap/helpers/parsers.php +++ b/bootstrap/helpers/parsers.php @@ -1302,7 +1302,13 @@ function applicationParser(Application $resource, int $pull_request_id = 0, ?int } // Auto-inject .env file so Coolify environment variables are available inside containers // This makes Applications behave consistently with manual .env file usage - $payload['env_file'] = ['.env']; + $existingEnvFiles = data_get($service, 'env_file'); + $envFiles = collect(is_null($existingEnvFiles) ? [] : (is_array($existingEnvFiles) ? $existingEnvFiles : [$existingEnvFiles])) + ->push('.env') + ->unique() + ->values(); + + $payload['env_file'] = $envFiles; if ($isPullRequest) { $serviceName = addPreviewDeploymentSuffix($serviceName, $pullRequestId); } @@ -2284,7 +2290,13 @@ function serviceParser(Service $resource): Collection } // Auto-inject .env file so Coolify environment variables are available inside containers // This makes Services behave consistently with Applications - $payload['env_file'] = ['.env']; + $existingEnvFiles = data_get($service, 'env_file'); + $envFiles = collect(is_null($existingEnvFiles) ? [] : (is_array($existingEnvFiles) ? $existingEnvFiles : [$existingEnvFiles])) + ->push('.env') + ->unique() + ->values(); + + $payload['env_file'] = $envFiles; $parsedServices->put($serviceName, $payload); }