From a3e12c8c0d0d7411e3f4d06ee1a02421e4d39b47 Mon Sep 17 00:00:00 2001 From: Varun Raj Date: Sun, 5 Jan 2025 15:52:31 +0530 Subject: [PATCH] feat: moved db config from url to individual keys Signed-off-by: Varun Raj --- src/config/db.ts | 8 +++++++- src/config/environment.ts | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/config/db.ts b/src/config/db.ts index cb903ae..cdad784 100644 --- a/src/config/db.ts +++ b/src/config/db.ts @@ -5,9 +5,15 @@ import { ENV } from "./environment"; import * as schema from "@/schema"; import { sql } from 'drizzle-orm'; -const pool = new Pool({ +const pool = ENV.DATABASE_URL ? new Pool({ connectionString: ENV.DATABASE_URL, keepAlive: true, +}) : new Pool({ + user: ENV.DB_USERNAME, + password: ENV.DB_PASSWORD, + host: ENV.DB_HOST, + port: parseInt(ENV.DB_PORT), + database: ENV.DB_DATABASE_NAME, }); class DatabaseConnectionError extends Error { diff --git a/src/config/environment.ts b/src/config/environment.ts index 692c635..d503f56 100644 --- a/src/config/environment.ts +++ b/src/config/environment.ts @@ -2,7 +2,12 @@ export const ENV = { IMMICH_URL: (process.env.IMMICH_URL || 'http://immich_server:2283') as string, EXTERNAL_IMMICH_URL: (process.env.EXTERNAL_IMMICH_URL || process.env.IMMICH_URL) as string, IMMICH_API_KEY: process.env.IMMICH_API_KEY as string, - DATABASE_URL: (process.env.DATABASE_URL || `postgresql://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@${(process.env.DB_HOST || 'immich_postgres')}:${(process.env.DB_PORT || '5432')}/${process.env.DB_DATABASE_NAME}`), + DATABASE_URL: process.env.DATABASE_URL as string, + DB_USERNAME: process.env.DB_USERNAME as string, + DB_PASSWORD: process.env.DB_PASSWORD as string, + DB_HOST: process.env.DB_HOST as string, + DB_PORT: process.env.DB_PORT as string, + DB_DATABASE_NAME: process.env.DB_DATABASE_NAME as string, JWT_SECRET: process.env.JWT_SECRET as string, SECURE_COOKIE: process.env.SECURE_COOKIE === 'true', VERSION: process.env.VERSION,