aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/config.ts
diff options
context:
space:
mode:
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;