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); }