tarakan/.env.example
Maxfield Luke af6077b9c3
All checks were successful
CI and deploy / Test (push) Successful in 4m52s
CI and deploy / Deploy production (push) Successful in 23s
Initial commit on Forgejo
Fresh repository history for elektrine/tarakan hosted at
https://git.elektrine.com/elektrine/tarakan.
2026-07-29 04:43:40 -04:00

69 lines
2.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Copy to .env at the app root (/opt/tarakan/.env or repo root).
# Compose: docker compose --project-directory . -f deploy/docker/compose.yml …
# REQUIRED — sign/encrypt secret. Generate with: mix phx.gen.secret
SECRET_KEY_BASE=
# REQUIRED — the public hostname the app is served on (no scheme).
PHX_HOST=localhost
# Port the app listens on inside and outside the container.
PORT=4000
# Host interface for Docker's published Phoenix port. Keep loopback-only when
# Caddy/nginx runs on the same host.
BIND_IP=127.0.0.1
# Database connections per app instance. Five is appropriate for a 2 GB VPS.
POOL_SIZE=5
# PostgreSQL credentials (used by both the db and app services).
POSTGRES_USER=tarakan
POSTGRES_PASSWORD=change-me
POSTGRES_DB=tarakan
# DATABASE_SSL=true enables verify_peer TLS to Postgres (default in prod runtime).
# Docker Compose sets DATABASE_SSL=false because app and db share a private network.
# DATABASE_SSL=false
# Comma-separated reverse-proxy IPs/CIDRs allowed to set X-Forwarded-For.
# Required for correct per-client rate limits behind Caddy/nginx/Traefik.
# TRUSTED_PROXIES=10.0.0.0/8,172.16.0.0/12,127.0.0.1
# Optional container bind address (default :: — dual-stack, all interfaces).
# Keep this at the default in Docker; use BIND_IP above to restrict the host port.
# PHX_IP=::
# RECOMMENDED in production — a GitHub token lifts the API limit to 5k req/hr
# and enables the nightly bulk repository sync (a classic PAT, no scopes
# needed for public data).
GITHUB_TOKEN=
# OPTIONAL — GitHub OAuth sign-in. Leave blank to disable that login button.
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# REQUIRED in production — scoped Elektrine PAT with write:email permission.
# Create it under Elektrine Account → Developer and keep it out of git.
ELEKTRINE_EMAIL_API_URL=https://elektrine.com
ELEKTRINE_EMAIL_API_KEY=
# OPTIONAL — bounty marketplace fiat escrow. Without these, only
# credit-funded bounties are available.
# STRIPE_SECRET_KEY=sk_live_...
# STRIPE_WEBHOOK_SECRET=whsec_...
# OPTIONAL — platform share of each bounty (0.01.0). Default 0.15.
# MARKET_TAKE_RATE=0.15
# OPTIONAL — git over SSH (git@host:owner/name.git). HTTPS cloning works
# without this. Publishing the port is handled by the compose file.
#
# The daemon's host key is generated on first boot into the `ssh` volume and
# must survive deploys: replacing it looks exactly like a man-in-the-middle to
# every client that has connected before, and git will refuse until the user
# edits known_hosts. scripts/deploy/backup.sh captures it.
# GIT_SSH_ENABLED=true
# GIT_SSH_PORT=2222
# Narrow the published interface if the daemon should not be world-reachable.
# GIT_SSH_BIND_IP=0.0.0.0