-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose_finale.yml
More file actions
135 lines (125 loc) · 4.65 KB
/
Copy pathdocker-compose_finale.yml
File metadata and controls
135 lines (125 loc) · 4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# ... (version, etc.)
services:
mariadb:
build:
context: ./requirements/mariadb
args:
ALPINE_VERSION: 3.19 # Exemple
image: mariadb
container_name: mariadb_c-andriam
restart: unless-stopped
networks:
- inception_network_c-andriam
volumes:
- db_data:/var/lib/mysql
env_file:
- .env # Charge DOMAIN_NAME, MYSQL_DATABASE, MYSQL_USER d'ici
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE} # Confirmé depuis .env
MYSQL_USER: ${MYSQL_USER} # Confirmé depuis .env
# Les variables _FILE pointent vers les secrets montés par Docker
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mariadb_root_password
MYSQL_PASSWORD_FILE: /run/secrets/mariadb_user_password
secrets: # Déclare les secrets à monter dans ce service
- mariadb_root_password
- mariadb_user_password
expose:
- "3306"
wordpress:
build:
# ... (args pour ALPINE_VERSION, WP_VERSION, PHP_VERSION, WP_SHA256_CHECKSUM)
context: ./requirements/wordpress
args:
ALPINE_VERSION: 3.19
WP_VERSION: 6.5.4 # Adaptez
PHP_VERSION: php82 # Adaptez
WP_SHA256_CHECKSUM: "votre_checksum_ici" # Adaptez
image: wordpress
container_name: wordpress_c-andriam
restart: unless-stopped
networks:
- inception_network_c-andriam
volumes:
- wp_files:/var/www/html
env_file:
- .env # Charge toutes les variables de .env (DOMAIN_NAME, MYSQL_*, WP_*, AUTH_KEY, etc.)
environment:
DB_HOST: mariadb
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
WORDPRESS_DB_USER: ${MYSQL_USER}
# La variable _FILE pointe vers le secret pour le mot de passe de la BDD WordPress
WORDPRESS_DB_PASSWORD_FILE: /run/secrets/mariadb_user_password
# WordPress lira directement ces variables d'environnement pour les configurer
WORDPRESS_TABLE_PREFIX: wp_ # Préfixe par défaut, peut être omis
WORDPRESS_CONFIG_EXTRA: | # Permet d'ajouter des lignes à wp-config.php
define('WP_HOME', '${WORDPRESS_HOME}');
define('WP_SITEURL', '${WORDPRESS_SITEURL}');
# define('FS_METHOD', 'direct'); # Peut être utile pour les mises à jour de plugins/thèmes
# if (getenv('WORDPRESS_DEBUG') === 'true') {
# define('WP_DEBUG', true);
# define('WP_DEBUG_LOG', true);
# define('WP_DEBUG_DISPLAY', false);
# @ini_set('display_errors', 0);
# }
# Variables pour les clés de sécurité (WordPress les lira directement si définies)
# Elles sont déjà dans .env et seront donc disponibles. Pas besoin de les redéfinir ici si env_file est utilisé.
# WORDPRESS_AUTH_KEY: ${AUTH_KEY}
# ... (toutes les clés de sécurité)
# Variables pour la configuration initiale de l'admin (si l'image WordPress officielle les supporte)
# Ou, si votre script configure-wp.sh les utilise pour l'installation via WP-CLI.
WORDPRESS_ADMIN_USER: ${WP_ADMIN_USER}
WORDPRESS_ADMIN_EMAIL: ${WP_ADMIN_EMAIL}
WORDPRESS_ADMIN_PASSWORD_FILE: /run/secrets/wordpress_admin_password # Pour le mot de passe admin
WORDPRESS_TITLE: "Site Inception de c-andriam" # Titre du site
# WORDPRESS_LOCALE: ${WORDPRESS_LOCALE} # Si défini dans .env
secrets: # Déclare les secrets à monter
- mariadb_user_password # Mot de passe pour la connexion à la BDD
- wordpress_admin_password # Mot de passe pour l'admin WP
depends_on:
mariadb:
condition: service_started
expose:
- "9000"
nginx:
build:
context: ./requirements/nginx
args:
ALPINE_VERSION: 3.19
DOMAIN_NAME: ${DOMAIN_NAME} # Vient de .env
image: nginx
container_name: nginx_c-andriam
# ... (ports, volumes, depends_on, networks)
ports:
- "443:443"
volumes:
- wp_files:/var/www/html:ro
depends_on:
- wordpress
networks:
- inception_network_c-andriam
# Déclaration globale des secrets, pointant vers les fichiers
secrets:
mariadb_root_password:
file: ./../secrets/mariadb_root_password.txt # Chemin relatif au docker-compose.yml (qui est dans srcs/)
mariadb_user_password:
file: ./../secrets/mariadb_user_password.txt
wordpress_admin_password:
file: ./../secrets/wordpress_admin_password.txt
# ... (volumes, networks comme précédemment)
volumes:
db_data:
driver: local
driver_opts:
type: none
device: /home/c-andriam/data/mariadb
o: bind
wp_files:
driver: local
driver_opts:
type: none
device: /home/c-andriam/data/wordpress
o: bind
networks:
inception_network_c-andriam:
driver: bridge
name: inception_network_c-andriam_net