81 lines
3.3 KiB
Plaintext
81 lines
3.3 KiB
Plaintext
# =============================================================================
|
|
# FORGEJO — configuration NON sensible
|
|
# =============================================================================
|
|
# Seul POSTGRES_PASSWORD est chiffré (secrets.env.yaml, injecté par
|
|
# `sops exec-env`). Le secret client Authentik n'est pas ici : il n'est pas lu
|
|
# par le conteneur, il se saisit une fois via `forgejo admin auth add-oauth`.
|
|
#
|
|
# Ce fichier ne contient QUE ce que les conteneurs consomment. La version
|
|
# d'image et les règles Traefik sont en dur dans docker-compose.yml :
|
|
# `env_file:` n'alimente pas l'interpolation ${...}, et une version en dur est
|
|
# détectée par Renovate.
|
|
# =============================================================================
|
|
|
|
# --- Base de données ---
|
|
# POSTGRES_* est lu par le conteneur postgres ET par le script de sauvegarde,
|
|
# qui fait `docker exec printenv POSTGRES_DB / POSTGRES_USER`. FORGEJO__database__*
|
|
# est lu par l'application. Les deux jeux doivent porter la MÊME valeur.
|
|
POSTGRES_USER=forgejo
|
|
POSTGRES_DB=forgejo
|
|
|
|
FORGEJO__database__DB_TYPE=postgres
|
|
FORGEJO__database__HOST=postgres:5432
|
|
FORGEJO__database__NAME=forgejo
|
|
FORGEJO__database__USER=forgejo
|
|
|
|
# --- Conteneur ---
|
|
USER_UID=1000
|
|
USER_GID=1000
|
|
TZ=Europe/Paris
|
|
|
|
# --- URL publique ---
|
|
# ROOT_URL est recopié dans les URL de clone affichées, dans les webhooks et
|
|
# dans le redirect OIDC : le changer suppose de reprendre le provider Authentik
|
|
# et de recréer les webhooks.
|
|
FORGEJO__server__DOMAIN=forge.opytex.org
|
|
FORGEJO__server__ROOT_URL=https://forge.opytex.org/
|
|
FORGEJO__server__SSH_DOMAIN=forge.opytex.org
|
|
FORGEJO__server__SSH_PORT=2223
|
|
FORGEJO__server__SSH_LISTEN_PORT=22
|
|
|
|
# --- Cache ---
|
|
# `cache` est le service Valkey de CETTE stack, et doit lui rester réservé :
|
|
# deux forges partageant un même Redis se volent leurs événements, avec des
|
|
# symptômes trompeurs (`AesDecrypt invalid decrypted base64 string`).
|
|
FORGEJO__cache__ENABLED=true
|
|
FORGEJO__cache__ADAPTER=redis
|
|
FORGEJO__cache__HOST=redis://cache:6379/0?pool_size=100&idle_timeout=180s
|
|
FORGEJO__cache__ITEM_TTL=24h
|
|
|
|
# --- Inscriptions & SSO (Authentik) ---
|
|
# Combinaison volontaire et contre-intuitive : DISABLE_REGISTRATION=true
|
|
# bloquerait AUSSI l'auto-création via OIDC, et plus personne ne pourrait
|
|
# entrer. C'est ALLOW_ONLY_EXTERNAL_REGISTRATION qui interdit l'inscription
|
|
# locale tout en laissant passer Authentik.
|
|
FORGEJO__service__DISABLE_REGISTRATION=false
|
|
FORGEJO__service__ALLOW_ONLY_EXTERNAL_REGISTRATION=true
|
|
FORGEJO__service__SHOW_REGISTRATION_BUTTON=false
|
|
FORGEJO__openid__ENABLE_OPENID_SIGNIN=false
|
|
FORGEJO__oauth2_client__ENABLE_AUTO_REGISTRATION=true
|
|
FORGEJO__oauth2_client__ACCOUNT_LINKING=auto
|
|
FORGEJO__oauth2_client__USERNAME=nickname
|
|
FORGEJO__oauth2_client__UPDATE_AVATAR=true
|
|
|
|
# --- Actions & registre de paquets ---
|
|
# Le registre est une dépendance vivante de l'infra : stacks/plesna.opytex.org
|
|
# tire une image depuis cette forge. Explicite pour éviter toute désactivation
|
|
# par inadvertance.
|
|
FORGEJO__actions__ENABLED=true
|
|
FORGEJO__packages__ENABLED=true
|
|
|
|
# --- Courriel (relais interne postfix, réseau `smtp`) ---
|
|
FORGEJO__mailer__ENABLED=true
|
|
FORGEJO__mailer__PROTOCOL=smtp
|
|
FORGEJO__mailer__SMTP_ADDR=postfix
|
|
FORGEJO__mailer__SMTP_PORT=25
|
|
FORGEJO__mailer__FROM=noreply@opytex.org
|
|
|
|
# --- Divers ---
|
|
FORGEJO__repository__DEFAULT_BRANCH=main
|
|
FORGEJO__security__INSTALL_LOCK=true
|