This commit is contained in:
Ubuntu
2025-07-07 20:18:25 +00:00
parent 95024e208c
commit 2228a68ff3
25 changed files with 207 additions and 413 deletions
+79 -67
View File
@@ -1,71 +1,83 @@
version: "3"
version: '3.8'
networks:
inception:
driver: bridge
services:
mariadb:
build: ./requirements/mariadb
container_name: mariadb
restart: always
volumes:
- mariadb_data:/var/lib/mysql
- ./tools/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
secrets:
- db_root_password
- db_user
- db_password
networks:
- inception
services:
nginx:
container_name: nginx
image: nginx
volumes:
- wp:/var/www/html
networks:
- inception
depends_on:
- wordpress
build:
context: ./requirements/nginx
dockerfile: Dockerfile
env_file: .env
ports:
- "443:443"
restart: always
wordpress:
container_name: wordpress
env_file: .env
image: wordpress
volumes:
- wp:/var/www/html
networks:
- inception
build:
context: ./requirements/wordpress
dockerfile: Dockerfile
depends_on:
- mariadb
restart: always
expose:
- "9000"
mariadb:
container_name: mariadb
networks:
- inception
build:
context: ./requirements/mariadb
dockerfile: Dockerfile
image: mariadb
env_file: .env
volumes:
- db:/var/lib/mysql
restart: always
expose:
- "3306"
volumes:
wp:
driver: local
driver_opts:
type: none
o: bind
device: ${HOME}/data/wp
db:
driver: local
driver_opts:
type: none
o: bind
device: ${HOME}/data/db
wordpress:
build: ./requirements/wordpress
container_name: wordpress
restart: always
depends_on:
- mariadb
volumes:
- wordpress_data:/var/www/html
environment:
MYSQL_DATABASE: wordpress_db
MYSQL_USER_FILE: /run/secrets/db_user
MYSQL_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_root_password
- db_user
- db_password
- wp_admin_user
- wp_admin_password
networks:
- inception
nginx:
build: ./requirements/nginx
container_name: nginx
restart: always
depends_on:
- wordpress
ports:
- "443:443"
volumes:
- wordpress_data:/var/www/html
networks:
- inception
volumes:
mariadb_data:
driver: local
driver_opts:
type: 'none'
device: '/home/yantoine/data/mariadb'
o: 'bind'
wordpress_data:
driver: local
driver_opts:
type: 'none'
device: '/home/yantoine/data/wordpress'
o: 'bind'
networks:
inception:
driver: bridge
secrets:
db_root_password:
file: ./secrets/db_root_password.txt
db_user:
file: ./secrets/db_user.txt
db_password:
file: ./secrets/db_password.txt
wp_admin_user:
file: ./secrets/wp_admin_user.txt
wp_admin_password:
file: ./secrets/wp_admin_password.txt