78 lines
1.9 KiB
TypeScript
Executable File
78 lines
1.9 KiB
TypeScript
Executable File
/**
|
|
* Centralised environment configuration.
|
|
* Preserves existing env variable names and default values.
|
|
*/
|
|
export const env = {
|
|
get nodeEnv(): string {
|
|
return process.env.NODE_ENV ?? "development";
|
|
},
|
|
|
|
get isProduction(): boolean {
|
|
return env.nodeEnv === "production";
|
|
},
|
|
|
|
get sessionSecret(): string {
|
|
return process.env.SESSION_SECRET ?? "complex_password_at_least_32_characters_long";
|
|
},
|
|
|
|
get authPassword(): string {
|
|
return process.env.AUTH_PASSWORD ?? "adventure";
|
|
},
|
|
|
|
get cronSecret(): string {
|
|
return process.env.CRON_SECRET ?? "change-me-cron-secret";
|
|
},
|
|
|
|
get ollamaUrl(): string {
|
|
return process.env.OLLAMA_URL ?? "http://localhost:11434";
|
|
},
|
|
|
|
get ollamaModelFast(): string {
|
|
return process.env.OLLAMA_MODEL_FAST ?? "llama3.2:3b";
|
|
},
|
|
|
|
get ollamaModelProse(): string {
|
|
return process.env.OLLAMA_MODEL_PROSE ?? process.env.OLLAMA_MODEL_FAST ?? "llama3.2:3b";
|
|
},
|
|
|
|
get hyperOllamaUrl(): string {
|
|
return process.env.HYPER_OLLAMA_URL ?? "http://192.168.1.50:11434";
|
|
},
|
|
|
|
get hyperOllamaModelFast(): string {
|
|
return process.env.HYPER_OLLAMA_MODEL_FAST ?? "llama3.1:8b";
|
|
},
|
|
|
|
get hyperOllamaModelProse(): string {
|
|
return (
|
|
process.env.HYPER_OLLAMA_MODEL_PROSE ??
|
|
process.env.HYPER_OLLAMA_MODEL_FAST ??
|
|
"llama3.1:8b"
|
|
);
|
|
},
|
|
|
|
get openAiApiKey(): string | undefined {
|
|
return process.env.OPENAI_API_KEY;
|
|
},
|
|
|
|
get llamaCppApiKey(): string | undefined {
|
|
return process.env.LLAMACPP_API_KEY;
|
|
},
|
|
|
|
get calibreLibraryPath(): string | undefined {
|
|
return process.env.CALIBRE_LIBRARY_PATH;
|
|
},
|
|
|
|
get calibreMetadataDbPath(): string | undefined {
|
|
return process.env.CALIBRE_METADATA_DB_PATH;
|
|
},
|
|
|
|
get calibreReadOnly(): boolean {
|
|
return process.env.CALIBRE_READ_ONLY !== "false";
|
|
},
|
|
} as const;
|
|
|
|
export function getOpenAiCompatibleApiKey(): string | undefined {
|
|
return env.openAiApiKey ?? env.llamaCppApiKey;
|
|
}
|