Files
www/.env.example
T
2026-10-23 12:02:50 -04:00

46 lines
1.9 KiB
Bash
Executable File

# Copy to .env. Never commit real secrets. Generate each secret independently.
MEMBERSHIP_SECRET_KEY=
MEMBERSHIP_PUBLIC_URL=https://eom.dev
MEMBERSHIP_ALLOW_HTTP=0
# Safe only while membership:8000 is private and Apache overwrites headers.
MEMBERSHIP_TRUST_PROXY=1
WWW_BIND_ADDRESS=127.0.0.1
WWW_PORT=8080
POSTGRES_DB=membership
POSTGRES_USER=membership
POSTGRES_PASSWORD=
POSTGRES_HOST=membership-db
# Compose's local database is on an isolated network. For a remote database use
# verify-full and mount its trusted root certificate via PGSSLROOTCERT.
POSTGRES_SSLMODE=prefer
DEX_ISSUER=https://dex.eom.dev
DEX_CLIENT_ID=www-membership
DEX_CLIENT_SECRET=
DEX_CONNECTOR_ID=www-ldap
LDAP_URL=ldaps://ldap.eom.dev
LDAP_BIND_DN=
LDAP_BIND_PASSWORD=
LDAP_CA_CERT_FILE=
LDAP_ACCOUNT_BASE_DN=ou=www,ou=people,dc=eom,dc=dev
LDAP_SEARCH_BASE_DN=ou=people,dc=eom,dc=dev
# Set ONLY after independently verifying slapd olcPasswordHash and password policy.
LDAP_PASSWORD_SCHEME=
LDAP_GROUP_PLACEHOLDER_DN=cn=membership-sentinel,ou=system,dc=eom,dc=dev
EMAIL_HOST=
EMAIL_PORT=587
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_USE_TLS=1
DEFAULT_FROM_EMAIL=accounts@eom.dev
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_LIVE_MODE=1
STRIPE_PORTAL_CONFIGURATION=
# Set real recurring Stripe Price IDs and pre-created dedicated LDAP groups.
# The display price is informational; Stripe Checkout is authoritative.
MEMBERSHIP_TIERS_FILE=/app/tiers.eom.json
# These are existing LIVE-mode prices; use separate test-mode prices in sandbox.
# Set MEMBERSHIP_TIERS_JSON instead to override the file ({} disables paid tiers).
# Example shape (names/prices/group DNs are your choice, not created by the app):
# MEMBERSHIP_TIERS_JSON={"supporter":{"label":"Supporter","price_id":"price_REPLACE","price_label":"$5 / month","group_dn":"cn=www-supporter,ou=groups,dc=eom,dc=dev","description":"Support independent projects and community services."}}