Inception/srcs/docker-compose.yml
2025-07-17 15:07:07 +02:00

155 lines
3.3 KiB
YAML

services:
mariadb:
container_name: mariadb
build:
context: ./requirements/mariadb
dockerfile: Dockerfile
args:
HOST_UID: ${HOST_UID:-1000}
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- HOST_UID=${HOST_UID:-1000}
networks:
- docker-network
volumes:
- data_mariadb:/var/lib/mysql
restart: unless-stopped
nginx:
container_name: nginx
build:
context: ./requirements/nginx
dockerfile: Dockerfile
args:
DOMAIN_NAME: ${DOMAIN_NAME}
depends_on:
- wordpress
environment:
- DOMAIN_NAME=${DOMAIN_NAME}
ports:
- '443:443'
- '8443:8443'
networks:
- docker-network
volumes:
- data_wordpress:/var/www/html
restart: unless-stopped
wordpress:
container_name: wordpress
build:
context: ./requirements/wordpress
dockerfile: Dockerfile
args:
HOST_UID: ${HOST_UID:-1000}
depends_on:
- mariadb
environment:
- DOMAIN_NAME=${DOMAIN_NAME}
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- WP_TITLE=${WP_TITLE}
- WP_DESCRIPTION=${WP_DESCRIPTION}
- WP_THEME=${WP_THEME}
- WP_ADMIN=${WP_ADMIN}
- WP_ADMIN_PASSWORD=${WP_ADMIN_PASSWORD}
- WP_ADMIN_EMAIL=${WP_ADMIN_EMAIL}
- WP_USER=${WP_USER}
- WP_USER_PASSWORD=${WP_USER_PASSWORD}
- WP_USER_EMAIL=${WP_USER_EMAIL}
networks:
- docker-network
volumes:
- data_wordpress:/var/www/html
restart: unless-stopped
redis:
container_name: redis
build:
context: ./requirements/redis
dockerfile: Dockerfile
networks:
- docker-network
restart: unless-stopped
ftp:
container_name: ftp
build:
context: ./requirements/ftp
dockerfile: Dockerfile
args:
HOST_UID: ${HOST_UID:-1000}
depends_on:
- wordpress
environment:
- FTP_USER=${FTP_USER}
- FTP_PASS=${FTP_PASS}
- FTP_PORT=${FTP_PORT}
- HOST_UID=${HOST_UID:-1000}
networks:
- docker-network
ports:
- '21:21'
- '30000-30009:30000-30009'
volumes:
- data_wordpress:/var/www/html
restart: unless-stopped
stop_grace_period: 2s
adminer:
container_name: adminer
build:
context: ./requirements/adminer
dockerfile: Dockerfile
depends_on:
- mariadb
environment:
- ADMINER_DEFAULT_SERVER=mariadb
networks:
- docker-network
restart: unless-stopped
mailhog:
container_name: mailhog
build:
context: ./requirements/mailhog
dockerfile: Dockerfile
networks:
- docker-network
restart: unless-stopped
environment:
- HOST_UID=${HOST_UID:-1000}=value
networks:
docker-network:
name: docker-network
volumes:
data_mariadb:
name: data_mariadb
driver: local
driver_opts:
type: none
device: /home/whaffman/data/mariadb
o: bind
data_wordpress:
name: data_wordpress
driver: local
driver_opts:
type: none
device: /home/whaffman/data/wordpress
o: bind