A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at fix/spotify 43 lines 1.6 kB view raw
1import dotenv from "dotenv"; 2import { cleanEnv, host, port, str, testOnly } from "envalid"; 3 4dotenv.config(); 5 6export const env = cleanEnv(process.env, { 7 NODE_ENV: str({ 8 devDefault: testOnly("test"), 9 choices: ["development", "production", "test"], 10 }), 11 HOST: host({ devDefault: testOnly("localhost") }), 12 PORT: port({ devDefault: testOnly(8000) }), 13 PUBLIC_URL: str({}), 14 DB_PATH: str({ devDefault: ":memory:" }), 15 KV_DB_PATH: str({ devDefault: ":memory:" }), 16 COOKIE_SECRET: str({ devDefault: "00000000000000000000000000000000" }), 17 FRONTEND_URL: str({ devDefault: "http://localhost:5174" }), 18 JWT_SECRET: str({ devDefault: "00000000000000000000000000000000" }), 19 SPOTIFY_REDIRECT_URI: str({ 20 devDefault: "http://localhost:8000/spotify/callback", 21 }), 22 SPOTIFY_CLIENT_ID: str({}), 23 SPOTIFY_CLIENT_SECRET: str({}), 24 SPOTIFY_ENCRYPTION_KEY: str({}), 25 SPOTIFY_ENCRYPTION_IV: str(), 26 ROCKSKY_BETA_TOKEN: str({}), 27 XATA_POSTGRES_URL: str({}), 28 NATS_URL: str({ devDefault: "nats://localhost:4222" }), 29 ANALYTICS: str({ devDefault: "http://localhost:7879" }), 30 DROPBOX_CLIENT_ID: str({}), 31 DROPBOX_CLIENT_SECRET: str({}), 32 DROPBOX_REDIRECT_URI: str({}), 33 GOOGLE_REDIRECT_URI: str({}), 34 GOOGLE_DRIVE: str({ default: "http://localhost:7880" }), 35 DROPBOX: str({ default: "http://localhost:7881" }), 36 TRACKLIST: str({ default: "http://localhost:7884" }), 37 REDIS_URL: str({ default: "redis://localhost:6379" }), 38 PRIVATE_KEY_1: str({}), 39 PRIVATE_KEY_2: str({}), 40 PRIVATE_KEY_3: str({}), 41 MEILISEARCH_URL: str({ devDefault: "http://localhost:7700" }), 42 MEILISEARCH_API_KEY: str({}), 43});