# Production — pinned to a release; only a merged PR changing image.tag
# moves it. No CTFY_ENVIRONMENT_LABEL: production is the unmarked
# deployment (staging wears the badge, prod wears none).
CTFY_ENV=prod
CTFY_PLATFORM_DOMAIN=REPLACE-ME.example.com
CTFY_TRAEFIK_DOMAIN=REPLACE-ME-run.example.com
CTFY_SUPER_ADMIN_EMAILS=REPLACE-ME@example.com
# Optional: more hostnames serving the same platform (the primary above
# stays canonical for mail and agents), and per-host 302 redirects. An
# alias's OAuth apps are secrets: CTFY_OAUTH_HOST_CLIENTS in secrets.env.
# CTFY_PLATFORM_DOMAIN_ALIASES=ctf.example.edu
# CTFY_HOST_REDIRECTS=event.example.edu=https://ctf.example.edu/competitions/<id>
# Transactional email (staging deliberately leaves these unset — a
# deployment that cannot send mail cannot mail real people by accident).
CTFY_EMAIL_FROM=ctfy <notify@mail.REPLACE-ME.example.com>
CTFY_EMAIL_REPLY_TO=support@REPLACE-ME.example.com
# Optional: the public status page (#2921). The platform's default for its
# `status_page_url` setting, and what the 503 page shown while the platform
# is down reads to tell a deploy from an outage (#3321). Unset, that page
# links nowhere and never names a cause.
# CTFY_STATUS_PAGE_URL=https://status.example.com
