Set-OPS-Public/roles/serveur_forgejo/templates/app.ini.j2
Daniel Allaire e214dcf4ed Forgejo au SSO OIDC (2e app SSO) — éprouvé sur forge-01
serveur_forgejo (10.0.0) : PostgreSQL via registre, exposé par l'edge
(auto-dérivé), source OAuth2 vers Keycloak (add-oauth idempotent), client
OIDC forgejo via serveur_keycloak_clients, auto-enregistrement OIDC
(identités depuis l'annuaire seulement).

Prouvé : testmail (LDAP) → « Se connecter avec Chezlepro » → compte
auto-créé, connecté au tableau de bord.

5 bugs de 1er déploiement corrigés : dépendance sendmail→postfix ;
app.ini propriété git (persiste secrets) ; ordre admin/migrations
(flush_handlers + wait_for) ; HTTP_ADDR 0.0.0.0 (edge distant) ;
auto-enregistrement OIDC.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 15:52:38 -04:00

48 lines
1.3 KiB
Django/Jinja

; Gere par Set-OPS (role serveur_forgejo). Ne pas editer a la main.
APP_NAME = Forgejo
RUN_USER = {{ serveur_forgejo_utilisateur }}
RUN_MODE = prod
WORK_PATH = {{ serveur_forgejo_data }}
[server]
DOMAIN = {{ serveur_forgejo_hostname }}
ROOT_URL = https://{{ serveur_forgejo_hostname }}/
HTTP_ADDR = {{ serveur_forgejo_http_addr }}
HTTP_PORT = {{ serveur_forgejo_http_port }}
SSH_DOMAIN = {{ serveur_forgejo_hostname }}
[database]
DB_TYPE = postgres
HOST = {{ serveur_forgejo_db_host }}:{{ serveur_forgejo_db_port | default(5432) }}
NAME = {{ serveur_forgejo_entree.base }}
USER = {{ serveur_forgejo_entree.proprietaire }}
PASSWD = {{ serveur_forgejo_db_password }}
[security]
INSTALL_LOCK = true
SECRET_KEY = {{ serveur_forgejo_secret_key }}
INTERNAL_TOKEN = {{ serveur_forgejo_internal_token }}
[service]
{% if serveur_forgejo_oidc_actif %}
; Identites depuis l'annuaire via le SSO uniquement : pas d'inscription locale,
; mais auto-enregistrement des utilisateurs OIDC.
DISABLE_REGISTRATION = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = true
{% else %}
DISABLE_REGISTRATION = true
{% endif %}
{% if serveur_forgejo_oidc_actif %}
[oauth2_client]
ENABLE_AUTO_REGISTRATION = true
USERNAME = preferred_username
ACCOUNT_LINKING = auto
{% endif %}
[mailer]
ENABLED = true
PROTOCOL = smtp
SMTP_ADDR = {{ serveur_forgejo_smtp }}
SMTP_PORT = 25
FROM = forge@{{ domaine_interne }}