-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path.env.example
More file actions
81 lines (66 loc) · 3.34 KB
/
Copy path.env.example
File metadata and controls
81 lines (66 loc) · 3.34 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
81
# Server Configuration
PORT=3000
NODE_ENV=development
# Comma-separated allowed CORS origins (empty = allow all, default)
# Supports wildcards for subdomains, e.g. *.example.com
CORS_ALLOWED_ORIGINS=http://localhost:5173
# Number of trusted reverse proxy hops (default: 0 = disabled, max: 10)
# Set to 1 when behind a single reverse proxy (e.g. nginx) so rate limiting uses the real client IP
# TRUST_PROXY=0
# Rate Limiting / Throttle Configuration
# THROTTLE_TTL=60000 # Time-to-live in milliseconds (default: 60000 = 1 minute)
# THROTTLE_LIMIT=30 # Maximum requests per TTL window (default: 30)
# THROTTLE_BLOCK_DURATION=60000 # Block duration in milliseconds after exceeding limit (default: 60000 = 1 minute)
# Image Proxy Configuration
# Base URL for imgproxy service (optional, enables image proxy URLs in API responses)
# Example: IMGPROXY_BASE_URL=http://localhost:8080
# IMGPROXY_BASE_URL=
# Security keys for signed imgproxy URLs (optional, uses insecure mode if not set)
# Generate keys with: echo $(xxd -g 2 -l 64 -p /dev/random | tr -d '\n')
# IMGPROXY_KEY=
# IMGPROXY_SALT=
# External Source Adapters Configuration
# Comma-separated list of adapter IDs to enable
# Available adapters: arasaac, openverse, nostr-amb-relay, rpi-virtuell, wikimedia
# Example: ENABLED_ADAPTERS=arasaac,openverse,nostr-amb-relay,rpi-virtuell
ENABLED_ADAPTERS=nostr-amb-relay
# Timeout for adapter requests in milliseconds (default: 3000)
# ADAPTER_TIMEOUT_MS=3000
# AMB Relay Configuration
# WebSocket URL of the AMB relay for searching educational metadata
NOSTR_AMB_RELAY_URL=ws://amb-relay:3334
# Typesense API key (shared between typesense and amb-relay services)
# TS_APIKEY=xyz
# AMB Relay metadata
# AMB_RELAY_NAME=AMB Relay
# AMB_RELAY_PUBKEY=
# AMB_RELAY_DESCRIPTION=Local AMB Relay
# AMB_RELAY_ICON=
# TS_COLLECTION=amb_events
# Asset Signing Configuration (optional)
# HMAC-SHA256 key for signing asset redirect URLs. When set, the API returns
# signed proxy URLs (via /api/v1/assets/:signature) instead of direct source URLs.
# This avoids exposing original asset URLs to the client and allows server-side
# cache headers and security controls.
# Must be at least 32 characters. Any string works (e.g. a passphrase or random token).
# Generate with: openssl rand -base64 32
# If neither ASSET_SIGNING_KEY nor IMGPROXY_BASE_URL is set, source URLs are returned as-is.
# ASSET_SIGNING_KEY=
# Time-to-live for signed asset URLs in seconds (default: 3600 = 1 hour)
# Set to 0 for non-expiring signatures.
# ASSET_SIGNING_TTL_SECONDS=3600
# Public base URL used to construct signed asset URLs (optional)
# If not set, falls back to http://localhost:<PORT>
# Example: PUBLIC_BASE_URL=https://oer.example.com
# PUBLIC_BASE_URL=
# Asset Proxy Security Configuration
# Timeout for proxied asset fetches in milliseconds (default: 15000, range: 1000-30000)
# ASSET_PROXY_TIMEOUT_MS=15000
# Comma-separated domain allowlist for asset proxy (empty = allow all)
# Subdomains are matched automatically. Strongly recommended in production to prevent SSRF.
# Example: ASSET_PROXY_ALLOWED_DOMAINS=arasaac.org,upload.wikimedia.org,live.staticflickr.com
# ASSET_PROXY_ALLOWED_DOMAINS=
# RPI-Virtuell Materialpool Configuration (optional, has default)
# GraphQL API endpoint for RPI-Virtuell Materialpool
# Default: https://material.rpi-virtuell.de/graphql
# RPI_VIRTUELL_API_URL=https://material.rpi-virtuell.de/graphql