diff --git a/components/dashboard/postgres/general/show-external-postgres-credentials.tsx b/components/dashboard/postgres/general/show-external-postgres-credentials.tsx index 08bae8c6..215356ce 100644 --- a/components/dashboard/postgres/general/show-external-postgres-credentials.tsx +++ b/components/dashboard/postgres/general/show-external-postgres-credentials.tsx @@ -80,7 +80,7 @@ export const ShowExternalPostgresCredentials = ({ postgresId }: Props) => { const hostname = window.location.hostname; const port = form.watch("externalPort") || data?.externalPort; - return `postgresql://${data?.databasePassword}:${data?.databasePassword}@${hostname}:${port}/${data?.databaseName}`; + return `postgresql://${data?.databaseUser}:${data?.databasePassword}@${hostname}:${port}/${data?.databaseName}`; }; setConnectionUrl(buildConnectionUrl()); diff --git a/package.json b/package.json index 9afbe835..bb728427 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.0.2", + "version": "v0.0.3", "private": true, "license": "AGPL-3.0-only", "type": "module", diff --git a/server/server.ts b/server/server.ts index cc2bd042..8a15362a 100644 --- a/server/server.ts +++ b/server/server.ts @@ -74,7 +74,7 @@ async function welcomeServer() { "", "Dokploy server is up and running!", "Please wait for 15 seconds before opening the browser.", - ` http://${ip}:3000`, + ` http://${ip}:${PORT}`, "", "", ].join("\n"), diff --git a/server/utils/docker/utils.ts b/server/utils/docker/utils.ts index 21a6614b..2cd881bb 100644 --- a/server/utils/docker/utils.ts +++ b/server/utils/docker/utils.ts @@ -5,6 +5,7 @@ import { APPLICATIONS_PATH, docker } from "@/server/constants"; import type { ContainerInfo, ResourceRequirements } from "dockerode"; import type { ApplicationNested } from "../builders"; import { execAsync } from "../process/execAsync"; +import { parse } from "dotenv"; interface RegistryAuth { username: string; @@ -154,15 +155,7 @@ export const removeService = async (appName: string) => { }; export const prepareEnvironmentVariables = (env: string | null) => - env - ?.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}`; - }) || []; + Object.entries(parse(env ?? "")).map(([key, value]) => `${key}=${value}`); export const generateVolumeMounts = (mounts: ApplicationNested["mounts"]) => { if (!mounts || mounts.length === 0) {