|
@@ -1,26 +1,25 @@
|
|
|
import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions';
|
|
|
import { DataSource } from 'typeorm';
|
|
|
|
|
|
-const baseDatabaseConfig: PostgresConnectionOptions = {
|
|
|
+const url = process.env.DB_URL;
|
|
|
+const urlOrParts = url
|
|
|
+ ? { url }
|
|
|
+ : {
|
|
|
+ host: process.env.DB_HOSTNAME || 'immich_postgres',
|
|
|
+ port: parseInt(process.env.DB_PORT || '5432'),
|
|
|
+ username: process.env.DB_USERNAME,
|
|
|
+ password: process.env.DB_PASSWORD,
|
|
|
+ database: process.env.DB_DATABASE_NAME,
|
|
|
+ };
|
|
|
+
|
|
|
+export const databaseConfig: PostgresConnectionOptions = {
|
|
|
type: 'postgres',
|
|
|
entities: [__dirname + '/../**/*.entity.{js,ts}'],
|
|
|
synchronize: false,
|
|
|
migrations: [__dirname + '/../migrations/*.{js,ts}'],
|
|
|
migrationsRun: true,
|
|
|
connectTimeoutMS: 10000, // 10 seconds
|
|
|
+ ...urlOrParts,
|
|
|
};
|
|
|
|
|
|
-const envBasedDatabaseConfig = {
|
|
|
- host: process.env.DB_HOSTNAME || 'immich_postgres',
|
|
|
- port: parseInt(process.env.DB_PORT || '5432'),
|
|
|
- username: process.env.DB_USERNAME,
|
|
|
- password: process.env.DB_PASSWORD,
|
|
|
- database: process.env.DB_DATABASE_NAME,
|
|
|
-};
|
|
|
-
|
|
|
-const url = process.env.DB_URL;
|
|
|
-const additionalSSLDatabaseConfig = url ? { url } : envBasedDatabaseConfig;
|
|
|
-
|
|
|
-export const databaseConfig: PostgresConnectionOptions = { ...baseDatabaseConfig, ...additionalSSLDatabaseConfig };
|
|
|
-
|
|
|
export const dataSource = new DataSource(databaseConfig);
|