Files
OpenSquawk/.env.example
itsrubberduck 65718ce21a refactor(split): make the app self-hosting ready
Remove the transitional website auth, admin hooks, SEO and hosted analytics together, then align the app routes, runtime configuration, tests and dependencies. These changes form one atomic cleanup because the filtered app must switch its identity and runtime surfaces as a unit.
2026-07-27 19:17:27 +02:00

50 lines
1.3 KiB
Plaintext

# Runtime
NODE_ENV=development
MONGODB_URI=mongodb://127.0.0.1:27017/opensquawk
NUXT_PUBLIC_RADIO_BACKEND_URL=http://127.0.0.1:8000
# Authentication
# Open mode is the self-hosted default: one persistent local identity, no login.
AUTH_MODE=open
# Generate strong, unique values, for example with `openssl rand -hex 32`.
JWT_SECRET=CHANGE_ME
APP_JWT_SECRET=CHANGE_ME
# Only needed when AUTH_MODE=sso.
NUXT_PUBLIC_AUTH_ISSUER=
SERVICE_SECRET=CHANGE_ME
# OpenAI-compatible services
OPENAI_API_KEY=
OPENAI_PROJECT=
OPENAI_BASE_URL=
OPENAIP_API_KEY=
LLM_MODEL=gpt-5-nano
ROUTER_LLM_MODEL=gpt-5-mini
TTS_MODEL=tts-1
VOICE_ID=alloy
# Optional telemetry mirror. Empty means nothing leaves this instance.
TELEMETRY_URL=
# Bug reports stay in MongoDB unless both a recipient and SMTP are configured.
BUG_REPORT_NOTIFY_EMAIL=
NOTIFY_EMAIL_FROM="OpenSquawk <no-reply@localhost>"
NOTIFY_SMTP_HOST=
NOTIFY_SMTP_PORT=587
NOTIFY_SMTP_SECURE=false
NOTIFY_SMTP_USER=
NOTIFY_SMTP_PASS=
# Speech and audio
NUXT_PUBLIC_PTT_MIN_WORDS=2
ATC_OUT_DIR=./storage/atc
FLIGHTLAB_TTS_CACHE_DIR=./.cache/flightlab-tts
USE_SPEACHES=false
SPEACHES_BASE_URL=
SPEECH_MODEL_ID=speaches-ai/piper-en_US-ryan-low
USE_PIPER=false
PIPER_PORT=5001
# Optional cockpit dome-light webhook. Empty disables forwarding.
DOME_LIGHT_WEBHOOK_URL=