# GUPI production environment TEMPLATE. Copy to /opt/gupi/.env.prod on the server and # fill in real values there (never commit real secrets). GUPI runs ONLY its own app # container; Postgres + MinIO come from the shared gu_common stack (must already be up). # # Endpoints: # - Public (frontend, TLS via the proxy): https://gupi.glitch.university # - Internal (app -> services, plain HTTP): docker hostnames gnommo-db / gnommo-minio # (those hostnames live in docker-compose.prod.yml; here you only set credentials). # # Deploy with: ./deploy.sh (server-side it runs, from /opt/gupi:) # docker compose -f /opt/gupi/docker-compose.prod.yml --env-file /opt/gupi/.env.prod up -d # --- Shared PostgreSQL (gu_common; reachable as gnommo-db on the shared network) --- POSTGRES_USER=gupi POSTGRES_PASSWORD=CHANGE_ME POSTGRES_DB=gupi # --- Shared MinIO / S3 (gu_common; reachable as gnommo-minio) --- MINIO_ROOT_USER=CHANGE_ME MINIO_ROOT_PASSWORD=CHANGE_ME S3_REGION=us-east-1 OSINT_S3_BUCKET=gupi-osint # --- App --- # DOMAIN drives the default public origin (https://gupi.${DOMAIN}); override CORS_ORIGIN # directly if the frontend is served somewhere else. DOMAIN=glitch.university # CORS_ORIGIN=https://gupi.glitch.university JWT_SECRET=CHANGE_ME_LONG_RANDOM_SECRET LEVEL_EDITING_ENABLED=false MAX_DOCUMENT_BYTES=26214400 # --- OCR (evidence text extraction) --- OCR_ENABLED=true OCR_LANGUAGES=nor+eng OCR_TIMEOUT_MS=20000 MAX_OCR_BYTES=15728640 MAX_EXTRACTED_TEXT_CHARACTERS=200000 # --- Evidence LLM judge (optional; disabled by default) --- EVIDENCE_JUDGE_PROVIDER=disabled EVIDENCE_JUDGE_MODEL= EVIDENCE_JUDGE_VERSION=evidence_claim_v1 EVIDENCE_JUDGE_TIMEOUT_MS=10000 EVIDENCE_JUDGE_MAX_CHARACTERS=20000 ANTHROPIC_API_KEY=