Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
61 lines (54 loc) · 3.54 KB
/
Copy path.env.example
File metadata and controls
61 lines (54 loc) · 3.54 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Copy this file to .env and replace the values with your own
PORT=3000
DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres
# ───────────────────────────────────────────────────────────────────────────────
# AUTHENTICATION (OIDC)
# ───────────────────────────────────────────────────────────────────────────────
# Supports any OpenID Connect provider (recommended: Logto — https://logto.io/)
#
# Logto Setup:
# 1. Create a "Traditional Web" application in Logto Console
# 2. Set the redirect URI to: <your-domain>/auth/login-callback
# 3. Copy the App ID → PUBLIC_OIDC_CLIENT_ID
# 4. Copy the App Secret → OIDC_CLIENT_SECRET
# [REQUIRED] OIDC Discovery URL
# Local mock (oidc-mock, runs inside `vite dev`, users in oidc-mock.yaml):
# http://127.0.0.1:8090/oidc/.well-known/openid-configuration
# Logto: https://<your-tenant>.logto.app/oidc/.well-known/openid-configuration
PUBLIC_OIDC_AUTHORITY=http://127.0.0.1:8090/oidc/.well-known/openid-configuration
# [REQUIRED] OAuth2 Client ID from your OIDC provider
PUBLIC_OIDC_CLIENT_ID=munify-chase
# [REQUIRED for Logto] OAuth2 Client Secret
# OIDC_CLIENT_SECRET=your-client-secret
# [OPTIONAL] JWT claim path for user roles
# Logto: roles (requires custom JWT claims setup)
OIDC_ROLE_CLAIM=roles
# Contact email displayed on the landing page for conference organizers (default: vorstand@dmun.de)
# PUBLIC_CONTACT_EMAIL=vorstand@dmun.de
# ───────────────────────────────────────────────────────────────────────────────
# AI (OPTIONAL)
# ───────────────────────────────────────────────────────────────────────────────
# Server-side AI providers for amendment analysis (obsolescence detection,
# impact ranking, rewrite suggestions). JSON array of { model, apiKey, baseURL } objects.
# Model format: "<provider>/<model-name>"
# Supported providers: openai, anthropic, google, groq, mistral, xai, cohere,
# deepseek, fireworks, togetherai, deepinfra, cerebras,
# google-vertex, azure, amazon-bedrock, openai-compatible
#
# If unset, only local (in-browser WebGPU) AI is available to chairs.
#
# Examples:
# AI_PROVIDERS=[{"model":"openai/gpt-4o-mini","apiKey":"sk-..."}]
# AI_PROVIDERS=[{"model":"anthropic/claude-haiku-4-5-20251001","apiKey":"sk-ant-..."}]
# AI_PROVIDERS=[{"model":"groq/llama-3.1-8b-instant","apiKey":"gsk_..."}]
#
# "openai-compatible" targets any self-hosted or third-party OpenAI-compatible
# chat completions endpoint (vLLM, LiteLLM, Ollama, OpenRouter, ...) and
# requires a "baseURL":
# AI_PROVIDERS=[{"model":"openai-compatible/llama3","baseURL":"http://localhost:11434/v1","apiKey":"ollama"}]
#
# Multiple providers are used in round-robin with automatic failover:
# AI_PROVIDERS=[{"model":"google/gemini-2.5-flash-lite","apiKey":"AQ..."}]
# Please see https://svelte.dev/docs/kit/adapter-node#Environment-variables for details
# on what vars are available. Especially if you plan on using the app behind a reverse proxy
# like traefik or caddy