Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
80 lines (67 loc) · 3.36 KB
/
Copy path.env.example
File metadata and controls
80 lines (67 loc) · 3.36 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Copy this file to .env and adjust values for your environment.
# PostgreSQL
POSTGRES_DB=ausleihbar
POSTGRES_USER=ausleihbar
POSTGRES_PASSWORD=ausleihbar
# Django
DJANGO_SECRET_KEY=dev-insecure-secret-key-change-me
DJANGO_DEBUG=1
# Frontend
VITE_API_BASE_URL=http://localhost:8000
# Content translation (issue #6): canonical content language — required when
# editing catalog content and the first shop fallback for untranslated text.
# "de" or "en". The frontend learns this from the backend via whoami.
CONTENT_DEFAULT_LANGUAGE=de
# Optional machine-translation pre-fill in the editor (issue #6 Phase 4). Off by
# default. To enable: start the bundled service with
# docker compose --profile translation up -d
# and set the provider below. Self-hosted LibreTranslate (Apache-2.0).
# CONTENT_TRANSLATION_PROVIDER=libretranslate
# LIBRETRANSLATE_URL=http://libretranslate:5000
# LIBRETRANSLATE_API_KEY=
# The backend reaches the service over the Docker network, so the host port is
# only for direct debugging. On macOS port 5000 is taken by AirPlay Receiver —
# override if you need host access: LIBRETRANSLATE_PORT=5050
# LIBRETRANSLATE_PORT=5000
# Optional AI features via an OpenAI-compatible LiteLLM endpoint. Off by
# default. To enable, point these at your (self-hosted) LiteLLM instance:
# AI_PROVIDER=litellm
# AI_BASE_URL=https://litellm.example.org/v1
# AI_API_KEY=
# AI_MODEL=qwen-3.5
# AI_TIMEOUT=30
# AI_MAX_TOKENS=2000
# AI_DISABLE_THINKING=1 # reasoning models: disable hidden "thinking" (set 0 if unsupported)
# Backend host port (override if 8000 is already taken on your machine, then
# also set VITE_API_BASE_URL to match, e.g. BACKEND_PORT=8001).
# BACKEND_PORT=8000
# Optional creation caps for this deployment. Leave blank/unset for unlimited.
# Enforced when creating via the API (products, resources) or on first login
# (users); bulk imports and the shell are not capped.
# MAX_RESOURCES=
# MAX_PRODUCTS=
# MAX_USERS=
# Keycloak (local dev OIDC provider)
KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=admin
# OIDC (backend <-> Keycloak). Defaults in docker-compose target the local
# Keycloak realm "ausleihbar". Override these to point at the university IdP.
OIDC_RP_CLIENT_ID=ausleihbar-backend
OIDC_RP_CLIENT_SECRET=ausleihbar-dev-secret
# Browser-facing endpoint uses localhost; backchannel uses host.docker.internal.
OIDC_OP_AUTHORIZATION_ENDPOINT=http://localhost:8080/realms/ausleihbar/protocol/openid-connect/auth
OIDC_OP_TOKEN_ENDPOINT=http://host.docker.internal:8080/realms/ausleihbar/protocol/openid-connect/token
OIDC_OP_USER_ENDPOINT=http://host.docker.internal:8080/realms/ausleihbar/protocol/openid-connect/userinfo
OIDC_OP_JWKS_ENDPOINT=http://host.docker.internal:8080/realms/ausleihbar/protocol/openid-connect/certs
OIDC_OP_LOGOUT_ENDPOINT=http://localhost:8080/realms/ausleihbar/protocol/openid-connect/logout
# Provider switch shortcut: set only OIDC_OP_ISSUER and leave the endpoints
# above empty to auto-derive them from the provider's discovery document.
# OIDC_OP_ISSUER=https://idp.example.org/realms/ausleihbar
# Claim mapping (defaults are standard OIDC claim names; override per provider).
# OIDC_CLAIM_USERNAME=preferred_username
# OIDC_CLAIM_EMAIL=email
# OIDC_CLAIM_FIRST_NAME=given_name
# OIDC_CLAIM_LAST_NAME=family_name
# Group/role claim and the group that grants Django admin (empty = disabled).
OIDC_GROUPS_CLAIM=groups
OIDC_ADMIN_GROUP=ausleihbar-admins