import { mkdirSync } from 'node:fs'; import { join, isAbsolute } from 'node:path'; const root = process.cwd(); function resolveDir(p, fallback) { const dir = p || fallback; return isAbsolute(dir) ? dir : join(root, dir); } export const config = { host: process.env.PG_HOST || '0.0.0.0', port: Number(process.env.PG_PORT || 3000), dataDir: resolveDir(process.env.PG_DATA_DIR, 'data'), // Auth: prefer a pre-hashed value; otherwise hash PG_PASSWORD at boot. // Defaults to "gunner" for local dev (a warning is logged). passwordHash: process.env.PG_PASSWORD_HASH || '', password: process.env.PG_PASSWORD || '', cookieSecret: process.env.PG_COOKIE_SECRET || '', sessionDays: Number(process.env.PG_SESSION_DAYS || 30), }; mkdirSync(config.dataDir, { recursive: true }); export const dbPath = join(config.dataDir, 'premier-gunner.db');