octane-website/src/config.js

28 lines
1.1 KiB
JavaScript
Raw Normal View History

2026-07-08 11:05:21 +02:00
require('dotenv').config();
2026-07-08 11:19:35 +02:00
const devBypassAuth = process.env.DEV_BYPASS_AUTH === 'true';
2026-07-08 11:05:21 +02:00
function required(name) {
const value = process.env[name];
if (!value && process.env.NODE_ENV !== 'test') {
throw new Error(`Missing required env var: ${name}`);
}
return value;
}
module.exports = {
nodeEnv: process.env.NODE_ENV || 'development',
port: parseInt(process.env.PORT, 10) || 3000,
databaseUrl: required('DATABASE_URL'),
sessionSecret: required('SESSION_SECRET'),
2026-07-08 11:19:35 +02:00
// DEV_BYPASS_AUTH lets you run the app locally without a real Authentik
// instance: /auth/login prompts for a name instead of redirecting to OIDC.
// Never enable this outside local development.
devBypassAuth,
authentikIssuerUrl: devBypassAuth ? process.env.AUTHENTIK_ISSUER_URL : required('AUTHENTIK_ISSUER_URL'),
oidcClientId: devBypassAuth ? process.env.OIDC_CLIENT_ID : required('OIDC_CLIENT_ID'),
oidcClientSecret: devBypassAuth ? process.env.OIDC_CLIENT_SECRET : required('OIDC_CLIENT_SECRET'),
oidcRedirectUri: devBypassAuth ? process.env.OIDC_REDIRECT_URI : required('OIDC_REDIRECT_URI'),
2026-07-08 11:05:21 +02:00
adminGroupName: process.env.ADMIN_GROUP_NAME || 'octane-admins',
};