diff --git a/apps/api/prisma/seed.js b/apps/api/prisma/seed.js index 4c4b7b208..2e1111737 100644 --- a/apps/api/prisma/seed.js +++ b/apps/api/prisma/seed.js @@ -381,7 +381,6 @@ main() reEncryptSecrets() .catch((e) => { console.error(e); - process.exit(1); }) .finally(async () => { await prisma.$disconnect(); diff --git a/apps/api/src/lib/buildPacks/compose.ts b/apps/api/src/lib/buildPacks/compose.ts index 5647a7916..0375c8ee2 100644 --- a/apps/api/src/lib/buildPacks/compose.ts +++ b/apps/api/src/lib/buildPacks/compose.ts @@ -19,7 +19,9 @@ export default async function (data) { dockerComposeConfiguration, dockerComposeFileLocation } = data; - const fileYaml = `${workdir}${baseDirectory}${dockerComposeFileLocation}`; + const baseDir = `${workdir}${baseDirectory}`; + const envFile = `${baseDir}/.env`; + const fileYaml = `${baseDir}${dockerComposeFileLocation}`; const dockerComposeRaw = await fs.readFile(fileYaml, 'utf8'); const dockerComposeYaml = yaml.load(dockerComposeRaw); if (!dockerComposeYaml.services) { @@ -31,7 +33,7 @@ export default async function (data) { envs = [...envs, ...generateSecrets(secrets, pullmergeRequestId, false, null)]; buildEnvs = [...buildEnvs, ...generateSecrets(secrets, pullmergeRequestId, true, null, true)]; } - + await fs.writeFile(envFile, envs.join('\n')); const composeVolumes = []; if (volumes.length > 0) { for (const volume of volumes) { @@ -50,19 +52,19 @@ export default async function (data) { if (value['env_file']) { delete value['env_file']; } + value['env_file'] = [envFile]; - let environment = typeof value['environment'] === 'undefined' ? [] : value['environment']; - let finalEnvs = [...envs]; - if (Object.keys(environment).length > 0) { - for (const arg of Object.keys(environment)) { - const [key, _] = arg.split('='); - if (finalEnvs.filter((env) => env.startsWith(key)).length === 0) { - finalEnvs.push(arg); - } - } - // environment = Object.entries(environment).map(([key, value]) => `${key}=${value}`); - } - value['environment'] = [...finalEnvs]; + // let environment = typeof value['environment'] === 'undefined' ? [] : value['environment']; + // let finalEnvs = [...envs]; + // if (Object.keys(environment).length > 0) { + // for (const arg of Object.keys(environment)) { + // const [key, _] = arg.split('='); + // if (finalEnvs.filter((env) => env.startsWith(key)).length === 0) { + // finalEnvs.push(arg); + // } + // } + // } + // value['environment'] = [...finalEnvs]; let build = typeof value['build'] === 'undefined' ? [] : value['build']; if (typeof build === 'string') { diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index 2501fa727..09879dbe1 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -18,7 +18,7 @@ import { scheduler } from './scheduler'; import type { ExecaChildProcess } from 'execa'; import { FastifyReply } from 'fastify'; -export const version = '3.12.36'; +export const version = '3.12.37'; export const isDev = process.env.NODE_ENV === 'development'; export const proxyPort = process.env.COOLIFY_PROXY_PORT; export const proxySecurePort = process.env.COOLIFY_PROXY_SECURE_PORT; diff --git a/package.json b/package.json index 0c80357d1..07233d0ee 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "3.12.36", + "version": "3.12.37", "license": "Apache-2.0", "repository": "github:coollabsio/coolify", "scripts": {