| 1 | # Managed by Ansible — 0600. |
| 2 | # Sourced by shithubd-worker.service via EnvironmentFile=. |
| 3 | # |
| 4 | # Naming contract: see web.env.j2 — env vars match docs/internal/config.md. |
| 5 | # Misnamed env vars are silently ignored; the binary falls back to defaults. |
| 6 | |
| 7 | SHITHUB_DATABASE_URL=postgresql://shithub:{{ shithub_db_password }}@127.0.0.1:5432/shithub?sslmode=disable |
| 8 | |
| 9 | SHITHUB_AUTH__BASE_URL=https://{{ shithub_domain }} |
| 10 | SHITHUB_AUTH__SITE_NAME=shithub |
| 11 | SHITHUB_AUTH__EMAIL_FROM={{ shithub_email_from }} |
| 12 | SHITHUB_AUTH__EMAIL_BACKEND={{ shithub_email_backend }} |
| 13 | |
| 14 | SHITHUB_STORAGE__REPOS_ROOT={{ shithub_data_root }}/repos |
| 15 | {% if s3_bucket | default("") %} |
| 16 | # DigitalOcean Spaces runtime bucket via its S3-compatible API. |
| 17 | SHITHUB_STORAGE__S3__ENDPOINT={{ s3_endpoint }} |
| 18 | SHITHUB_STORAGE__S3__REGION={{ s3_region | default("us-east-1") }} |
| 19 | SHITHUB_STORAGE__S3__ACCESS_KEY_ID={{ s3_access_key_id }} |
| 20 | SHITHUB_STORAGE__S3__SECRET_ACCESS_KEY={{ s3_secret_access_key }} |
| 21 | SHITHUB_STORAGE__S3__BUCKET={{ s3_bucket }} |
| 22 | SHITHUB_STORAGE__S3__USE_SSL={{ (s3_use_ssl | default(true)) | ternary("true", "false") }} |
| 23 | SHITHUB_STORAGE__S3__FORCE_PATH_STYLE={{ (s3_force_path_style | default(false)) | ternary("true", "false") }} |
| 24 | {% endif %} |
| 25 | |
| 26 | SHITHUB_TOTP_KEY={{ shithub_totp_key_b64 }} |
| 27 | |
| 28 | {% if shithub_email_backend == "postmark" %} |
| 29 | SHITHUB_AUTH__POSTMARK__SERVER_TOKEN={{ shithub_postmark_token }} |
| 30 | {% elif shithub_email_backend == "resend" %} |
| 31 | SHITHUB_AUTH__RESEND__API_KEY={{ shithub_resend_api_key }} |
| 32 | {% endif %} |