# docker compose reads this file for every command (even db-up/migrate), # because AUTH_SECRET and POSTGRES_PASSWORD use fail-fast `:?` interpolation. POSTGRES_PASSWORD=computer # See RUNNING.md to generate this with Docker. Keep stable for IMAP passwords. AUTH_SECRET=replace-with-a-random-secret NEXTAUTH_URL=http://localhost:3000 # Optional: cookie Secure flag. Defaults to the NEXTAUTH_URL scheme # (https => secure); set explicitly only to override that derivation. # COOKIE_SECURE=1 # Reserved administrator emails; provision them using the operator seed in README.md. ADMIN_EMAILS= # First-run administrator claim. The default (unset) lets the first signup # become administrator, which is convenient locally and DANGEROUS on a public # server: whoever registers first after DNS is live owns the instance. # On an exposed deployment set ALLOW_BOOTSTRAP_SIGNUP=0, list the operator in # ADMIN_EMAILS, and provision that account with `make seed` (scripts/ # server-deploy.sh does this automatically for new installs). #ALLOW_BOOTSTRAP_SIGNUP=0 # Master switch for self-service registration (default enabled). Set to 0 on # private instances where accounts are provisioned only by an operator. #SIGNUP_ENABLED=0 # Trust the X-Real-IP header for rate-limit identity. Set to 1 ONLY when a # proxy in front of the web container overwrites X-Real-IP with the real peer # address (the bundled nginx template does; scripts/server-deploy.sh writes # this for server deployments). Never set it when port 3000 is reachable # directly — clients could then choose their own rate-limit bucket. #TRUSTED_PROXY=1 # Keep these defaults on a new install; change only to reuse an existing volume. POSTGRES_VOLUME=computer_pgdata POSTGRES_VOLUME_EXTERNAL=false # Host-side ports for the 127.0.0.1 bindings of app/web. Change on servers # where 8080/3000 are already used (scripts/server-deploy.sh pins 18080/13000). # If you shift WEB_HOST_PORT locally, set NEXTAUTH_URL to the same # browser-facing origin (e.g. http://localhost:3100): the API proxy's origin # allowlist matches browser Origin against NEXTAUTH_URL, so a mismatch makes # every mutating request fail with 403 "Invalid request origin". #APP_HOST_PORT=8080 #WEB_HOST_PORT=3000 # Client-owned Authelia integration remains stubbed until connected. OIDC_ISSUER=REPLACE_ME OIDC_CLIENT_ID=REPLACE_ME OIDC_CLIENT_SECRET=REPLACE_ME # --- Optional, not needed for the Compose stack --- # Go API listen port (default 8080). #PORT=8080 # Database URL fallback used by the Makefile when DATABASE_URL is unset. #DB_URL=postgres://computer:computer@localhost:5432/computer?sslmode=disable # Host-level integration tests (normally run via `make integration` instead): #TEST_DATABASE_URL=postgres://computer:computer@localhost:5432/computer?sslmode=disable # Browser tests (scripts/e2e.mjs): #BASE_URL=http://localhost:3000 #CHROMIUM_PATH=/usr/bin/chromium # E2E_KEEP_DATA=1 keeps the QA account instead of deleting it. # Allows CardDAV/IMAP/preview dials to private ranges, and relaxes CardDAV's # https requirement (Basic-auth credentials never travel plaintext otherwise). # Test fakes and deliberate LAN deployments only — never set it in production # Compose. #INTEGRATIONS_ALLOW_PRIVATE=1