mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
fix: Properly parse environment variables
This commit is contained in:
@@ -5,6 +5,7 @@ import { APPLICATIONS_PATH, docker } from "@/server/constants";
|
|||||||
import type { ContainerInfo, ResourceRequirements } from "dockerode";
|
import type { ContainerInfo, ResourceRequirements } from "dockerode";
|
||||||
import type { ApplicationNested } from "../builders";
|
import type { ApplicationNested } from "../builders";
|
||||||
import { execAsync } from "../process/execAsync";
|
import { execAsync } from "../process/execAsync";
|
||||||
|
import { parse } from "dotenv";
|
||||||
|
|
||||||
interface RegistryAuth {
|
interface RegistryAuth {
|
||||||
username: string;
|
username: string;
|
||||||
@@ -154,15 +155,7 @@ export const removeService = async (appName: string) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const prepareEnvironmentVariables = (env: string | null) =>
|
export const prepareEnvironmentVariables = (env: string | null) =>
|
||||||
env
|
Object.entries(parse(env ?? "")).map(([key, value]) => `${key}=${value}`);
|
||||||
?.split("\n")
|
|
||||||
.map((line) => line.trim()) // Trim whitespace
|
|
||||||
.filter((line) => line && !line.startsWith("#")) // Exclude empty lines and comments
|
|
||||||
.map((envVar) => {
|
|
||||||
let [key, value] = envVar.split("=", 2);
|
|
||||||
value = value?.replace(/^"(.*)"$/, "$1"); // Remove surrounding double quotes
|
|
||||||
return `${key}=${value}`;
|
|
||||||
}) || [];
|
|
||||||
|
|
||||||
export const generateVolumeMounts = (mounts: ApplicationNested["mounts"]) => {
|
export const generateVolumeMounts = (mounts: ApplicationNested["mounts"]) => {
|
||||||
if (!mounts || mounts.length === 0) {
|
if (!mounts || mounts.length === 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user