aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/config.ts
blob: 6ca7b89d8c740bb8ce8c2cbaba81062248d125e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function buildAuthentikConfig() {
  const { AUTHENTIK_ID, AUTHENTIK_SECRET, AUTHENTIK_ISSUER } = process.env;

  if (!AUTHENTIK_ID || !AUTHENTIK_SECRET || !AUTHENTIK_ISSUER) {
    return undefined;
  }

  return {
    clientId: AUTHENTIK_ID,
    clientSecret: AUTHENTIK_SECRET,
    issuer: AUTHENTIK_ISSUER,
  };
}

const serverConfig = {
  apiUrl: process.env.API_URL || "http://localhost:3000",
  auth: {
    authentik: buildAuthentikConfig(),
  },
  openAI: {
    apiKey: process.env.OPENAI_API_KEY,
  },
  bullMQ: {
    redisHost: process.env.REDIS_HOST || "localhost",
    redisPort: parseInt(process.env.REDIS_PORT || "6379"),
  },
  crawler: {
    headlessBrowser: (process.env.CRAWLER_HEADLESS_BROWSER ?? "true") == "true",
    browserExecutablePath: process.env.BROWSER_EXECUTABLE_PATH, // If not set, the system's browser will be used
    browserUserDataDir: process.env.BROWSER_USER_DATA_DIR,
  },
  logLevel: process.env.LOG_LEVEL || "debug",
  demoMode: (process.env.DEMO_MODE ?? "false") == "true",
};

export default serverConfig;