Première stack migrée vers le nouveau modèle. Le nom du dossier est
conservé à l'identique : il détermine le nom du projet Compose
(vaultopytexorg) et donc le préfixe des volumes, ce qui permet de
reprendre les données existantes.
- env_file : les 22 variables non sensibles, en clair et diffables
- secrets.env.yaml : ADMIN_TOKEN et SSO_CLIENT_SECRET, chiffrés
- env_file: .env supprimé ; les deux secrets passent par ${VAR:?} pour
échouer franchement si `sops exec-env` est oublié
Corrections au passage :
- priority=10 sur le router principal. Sans elle Traefik la déduisait de
la longueur de la règle (23), contre 26 sur le router /admin : trois
caractères de marge avant que /admin ne perde le forward auth.
- backup.enable sur le volume, qui n'était couvert par aucune sauvegarde.
À compléter dans MANUAL_VOLUMES : un label n'agit pas sur un volume
déjà créé.
- version d'image figée (1.35.7) au lieu de latest, détectable par Renovate
- security_opt: no-new-privileges
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
27 lines
2.1 KiB
YAML
27 lines
2.1 KiB
YAML
ADMIN_TOKEN: ENC[AES256_GCM,data:PohQt8NlNAlUeWMdvqDdkUmHKJoqkLFE5bF3gZPvvDzxtaLWvtIdnnSkf/3mYJR+CSWjiObM6HgjhZ/WjzeR4324/bWVy5xXwH+o1TGXzXLtCruMrLPZFZDC99tmORa571gZ0DluRPI5EOEcYYQx3AQqggTVow==,iv:o4K3ydAFhFEo/aGhZSYdAWnJCqRGgg9p9zcbhPxzvvM=,tag:zH2t/bxKYi+C/XXU/j8z6Q==,type:str]
|
|
SSO_CLIENT_SECRET: ENC[AES256_GCM,data:elGebRAUOJemc0DGyCMS8f2+qU5CJZYW1Cu51936m7XNFy0FQZltJrtpSJm952UHtuoYvN9/TGKXFABEPs9R3vfb9EJ3jgV+Jw/Lvwa+HI2UqwQsxRPsJ11ihRAQuQRmIia+nzy0cH2/Kt8sNRxQhw/tR/Up70J10Y8MoXm5jCg=,iv:6D2YpUI0GlqsPDI5BeAu8hFv7LWJDAfJVDmXay14/38=,tag:fxxn9Qi3oJt7qBciG+Ct3g==,type:str]
|
|
sops:
|
|
age:
|
|
- enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOS2lpaE5RNlZmcjNLQWFh
|
|
YzRJalZaRC9TRVFnUlNGc21WdTJGVkpUMlFJCjNHVFp1V3N1b3Nla0Z2Q1NuaHZQ
|
|
NXpHSnFTTFpvVVhhakh6bnBFTHBCUzgKLS0tIEQ4NzNha1NaV3cyNTZST2JwaXQw
|
|
UWVCWWIxM2VkbkhTTWNGVERXV29yZTgKpkNFQGeW9XoS274YMeGEOUgLh1z6oT5k
|
|
hwQMD/9EYv2npMKGEPQlrKwIUhJly8m+t2TOjUp/1YS37Bd8MbNbBA==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
recipient: age18m2zl3pwgw97djshzcf4wmhrqxksl4erqse6edkpxpkg5rcz0ujs8u4c7s
|
|
- enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxTmhYWloyd0dWZlFJdmpV
|
|
KzI4WjhQTVBjS3R3NzRvL3B6Z2xyM09qOHlVCmlST0hOenJUb3lSN0lFMk9pOU11
|
|
aGsvL0JWV0hJanZkN0t2VzFSWUFlT1UKLS0tIGdpY05pcmVqSllqTFk2MmJvZS9I
|
|
cHRabXdZTjhMeUFObHRyNGN3TjFxZWsKliW1EpTLHAk1INr177ezaMgyYg1gLV8B
|
|
X5QLAU85NtxNyb6GhYBHJprdM6Cw/RWXQoyfFig7FophJKzzXRHqdA==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
recipient: age1fh70nny5hzz8a8g9077kgfca0lhlh3wsjf4fjrv4klx5ucdtpdmsazuqdj
|
|
lastmodified: "2026-08-12T14:10:42Z"
|
|
mac: ENC[AES256_GCM,data:URzoDTyKu6YtfV8fbKIK1hbyTBn1SlFOsGhZFekS3IAMS7zKAYJISFczpCvValQdDVcngYBfnPP+lgmXSxQHe6vVdo9TplCI0HIBNEtIqLJwPMXlc6hw9XTUvDnSpoB32mgIOtTNQeIlZ2T2EcuyCL44i202MmMuKFmafPUdEY4=,iv:OlaLkzxbN7isHawJ6iwFEG2L6uXU/WL6fzo9fDZ0qlI=,tag:CK2Dt2MME88Sz59tGzWi6w==,type:str]
|
|
unencrypted_suffix: _unencrypted
|
|
version: 3.13.3
|