aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/config.ts
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-14 11:19:05 +0000
committerMohamedBassem <me@mbassem.com>2024-02-14 11:19:05 +0000
commit686c677edc3a739cd8afdf6d20837fef202cbfe7 (patch)
treeb7940a32046363925cfb4be31682a1c515a25319 /packages/shared/config.ts
parent50c3c5e132643fc33d39fb9dc1fe951efe766337 (diff)
downloadkarakeep-686c677edc3a739cd8afdf6d20837fef202cbfe7.tar.zst
chore: Consolidate all config vars in one file
Diffstat (limited to 'packages/shared/config.ts')
-rw-r--r--packages/shared/config.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/shared/config.ts b/packages/shared/config.ts
new file mode 100644
index 00000000..8cf0d620
--- /dev/null
+++ b/packages/shared/config.ts
@@ -0,0 +1,30 @@
+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"),
+ },
+ logLevel: process.env.LOG_LEVEL || "debug",
+};
+
+export default serverConfig;