feat(stacks): migrate brodeuse-voyageuse

This commit is contained in:
2026-08-13 21:10:17 +02:00
parent fbb521594d
commit 5430eb19fc
3 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
# Le dossier a été renommé (il s'appelait `test.brodeuse-voyageuse.com` alors
# que la stack sert le domaine apex en production). Ce `name:` fige l'ancien
# nom de projet pour que les volumes existants restent trouvables.
name: testbrodeuse-voyageusecom
services:
db:
image: mariadb:12
restart: always
env_file:
- env_file
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:?}
volumes:
- db:/var/lib/mysql
networks:
- default
labels:
# Absents jusqu'ici : la base était copiée à chaud, sans dump.
- backup.enable=true
- backup.type=mariadb
wordpress:
image: wordpress:6.9-php8.4-apache
restart: always
depends_on:
- db
env_file:
- env_file
environment:
WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD:?}
volumes:
- wp:/var/www/html
networks:
- default
- traefik-proxy
labels:
- traefik.enable=true
- traefik.docker.network=traefik-proxy
- traefik.http.routers.tBV.entrypoints=web-secure
- traefik.http.routers.tBV.rule=Host(`brodeuse-voyageuse.com`)
- traefik.http.routers.tBV.tls.certresolver=letsencrypt
- traefik.http.services.tBV.loadbalancer.server.port=80
volumes:
db:
labels:
- backup.enable=true
wp:
labels:
- backup.enable=true
networks:
traefik-proxy:
external: true

View File

@@ -0,0 +1,13 @@
# WordPress + MariaDB — configuration non sensible.
# Les trois mots de passe sont dans secrets.env.yaml.
#
# Ces noms `MYSQL_*` sont ceux que le script de sauvegarde cherche via
# `docker exec printenv` pour construire le dump : ne pas les passer aux
# noms modernes `MARIADB_*` sans adapter tools/backup_docker.sh.
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
WORDPRESS_DB_HOST=db:3306
WORDPRESS_DB_USER=wordpress
WORDPRESS_DB_NAME=wordpress

View File

@@ -0,0 +1,27 @@
MYSQL_ROOT_PASSWORD: ENC[AES256_GCM,data:yhglwGMXQ+y1L1A69s1fEEDylYpFWjIAsuPzYaUL,iv:+46Ggg9HtbML20fDUelSuiyTqyv851ZZRD4vVaBYCvc=,tag:kv+LoiV19aTtAs8WkUlxPQ==,type:str]
MYSQL_PASSWORD: ENC[AES256_GCM,data:R7jA3R/1X9ZDqttmcd+qA5qZLId3VW2a5vNXSpzi,iv:cGrppAstRmK8blx5Hn8ax6eTdVVqurTRriotYJc3ACA=,tag:sQ90lI67TYoRWbDqaJBtww==,type:str]
WORDPRESS_DB_PASSWORD: ENC[AES256_GCM,data:aPGCAnZL4j6KpZK07gyvUOTr3nXQkMAdxTO7NFwC,iv:AzjO68Cg3NcN/hbtaXe2HPH+YmQLBoa/YmRvKqymoaM=,tag:VJ1o8srOT1cCsywgsMJ5GA==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaU3p4TElQenZHTEdKWVdV
UTdJUEpyQWhIc2pMSTlGZkFPK1crbEV1TW00Cm9UN2JjTTdGZkZxaXovTWlpbjFm
QW9OdytBU1ZVTXV3Zk5lanZXZWZFY00KLS0tIDhRcWlEN3hGWjJJTDlWaUdVZ1pE
VHZKS2J4WWNpZWlmZ1MveUZrMFBXMlEKXsmQJOtM3/5DOjzx6xfh4dhtfarVWBcR
Zm9dEPHQqg6kpZqZy0q6/UsoQd0WPidoaFhekfz/SbLbN2hx1n0b8g==
-----END AGE ENCRYPTED FILE-----
recipient: age18m2zl3pwgw97djshzcf4wmhrqxksl4erqse6edkpxpkg5rcz0ujs8u4c7s
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuandVYWJwS0tGM3RVZFlZ
bDFIajMydi9KWXRwaU5PK1U2cDdoa2l4eDJFCnliSFNpR01rR0Nldmw0VE5MTjdD
RldEMnEwMEorU2VSbmVqcjh0akF3Z0EKLS0tIEE5a3hYVnZUSVE4dXZiKzVDbjRj
RDhPNVhiNUxKd0pIaVBYWE5PTTZ1VVkKxMOeeOe7EglOs22dZCPX10YcFUaC2eO7
GRPSKGaYHfKqbU1cRp1nklE50feHA7mDdYGE3eImsUphrQmrdt49qw==
-----END AGE ENCRYPTED FILE-----
recipient: age1fh70nny5hzz8a8g9077kgfca0lhlh3wsjf4fjrv4klx5ucdtpdmsazuqdj
lastmodified: "2026-08-13T18:50:21Z"
mac: ENC[AES256_GCM,data:a+IaAanjtL7KSdf68bu8yrhHyObn+5hFWC5xHdq2utHgSZdqmKoMrtz24NfopXfli/Bby9Ryibz1A9yKJCEamz/9F0gFazQBIE7FTmjCF6+zqmjlY8MtX9Y6q7Pl7k/AeWlfH7ZykYuLvbQFS3u59TSNnOsLO7UuEdkeDVPaxUI=,iv:cq5Zl4U33j+fjjrelq50f+STEcRQL8Oq/56HDmIR7j8=,tag:VuDy32LgLGI5QuGN4aptPw==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3