Spec 11 §4: contacts.provider and contacts.contrack (local address only, company token write-only), each person's own token (users.contrack_token_enc, migration 0010) in My settings, books read from Contrack with a 5-minute cache, Add to contacts and accepted shares created in Contrack, the company account on desk phones. Setup wizard step 8 Contacts. deploy/contrack (2.0.2, pinned), Caddy/nginx blocks, decision 0003, admin guide Contacts. Tested against a fake and a real Contrack 2.0.2 (contrack-live.test.ts).
29 lines
1.4 KiB
Bash
29 lines
1.4 KiB
Bash
# --- required ---
|
|
PUBLIC_HOSTNAME=pbx.example.com # DNS name browsers and phones use
|
|
POSTGRES_PASSWORD=change-me # install.sh generates a random one (hex: it goes into a URL)
|
|
AMI_SECRET=change-me # install.sh generates a random one
|
|
APP_SECRET=change-me # 32 random bytes, base64. Encrypts secrets in the DB. NEVER change after first run.
|
|
INITIAL_ADMIN_EMAIL=admin@example.com
|
|
INITIAL_ADMIN_PASSWORD=change-me # only used if no admin exists yet
|
|
|
|
# --- optional ---
|
|
CONTRACK_HOSTNAME= # Contrack contacts (spec 11 §4): its own DNS name, e.g. contacts.example.com
|
|
TZ=America/Chicago
|
|
API_PORT=8080
|
|
POSTGRES_PORT=5433
|
|
APP_UID=1000
|
|
APP_GID=1000
|
|
LOG_LEVEL=info
|
|
TRUST_PROXY=true # true when behind Caddy/nginx
|
|
RTP_PORT_START=10000 # call audio (UDP), both ends included: open this range on the
|
|
RTP_PORT_END=20000 # firewall and router. Two ports per call; 200 is plenty for a small office
|
|
# Local AI (admin guide: AI). Starting values for Settings → AI; that page wins once saved.
|
|
# Only localhost or a local-network IP is accepted. Leave out what you don't use.
|
|
#AI_LLM_URL=http://127.0.0.1:11434/v1 # Ollama
|
|
#AI_LLM_MODEL=qwen3:4b
|
|
#AI_STT_URL=http://127.0.0.1:8000/v1 # deploy/ai (Speaches)
|
|
#AI_STT_MODEL=Systran/faster-whisper-small
|
|
#AI_TTS_URL=http://127.0.0.1:8000/v1
|
|
#AI_TTS_MODEL=speaches-ai/Kokoro-82M-v1.0-ONNX
|
|
#AI_TTS_VOICE=af_heart
|