.env.example 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # Entra ID / OIDC
  2. ENTRA_TENANT_ID=
  3. ENTRA_CLIENT_ID=
  4. ENTRA_CLIENT_SECRET=
  5. # Base URL the app is reachable at (no trailing slash).
  6. # Used to build the OIDC redirect URI {APP_BASE_URL}/auth/callback
  7. APP_BASE_URL=http://localhost:8080
  8. # Path to the SQLite database file inside the container. Leave as-is unless
  9. # you have a specific reason to change it. The parent dir is the mounted
  10. # volume (/var/www/data).
  11. DB_PATH=/var/www/data/app.sqlite
  12. # Session handler files directory.
  13. SESSION_PATH=/var/www/data/sessions
  14. # 'production' disables verbose error output. Anything else is treated as dev.
  15. APP_ENV=production
  16. # ---------------------------------------------------------------------------
  17. # Local admin (optional) — lets you sign in without Entra, e.g. during initial
  18. # setup or for a fully on-prem deployment. Set BOTH email and the password
  19. # hash to enable; leave blank to disable. The password is verified with PHP's
  20. # password_verify() against LOCAL_ADMIN_PASSWORD_HASH, so .env never contains
  21. # the password itself. Generate the hash with:
  22. # docker run --rm php:8.3-cli php -r \
  23. # 'echo password_hash(readline("Password: "), PASSWORD_DEFAULT), PHP_EOL;'
  24. # (Or `php -r '...'` directly if you have PHP 8 on the host.) Paste the
  25. # resulting `$2y$...` string verbatim. Single quotes recommended in .env so
  26. # the `$` in the hash isn't interpreted by the shell.
  27. # The resulting user is stored with entra_oid = "local:<email>" and is_admin=1.
  28. # ---------------------------------------------------------------------------
  29. LOCAL_ADMIN_EMAIL=
  30. LOCAL_ADMIN_PASSWORD_HASH=
  31. LOCAL_ADMIN_NAME=Local Admin