174 lines
3.8 KiB
YAML
174 lines
3.8 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:
|
|
condition: service_healthy
|
|
mailhog:
|
|
condition: service_healthy
|
|
adminer:
|
|
condition: service_healthy
|
|
environment:
|
|
- DOMAIN_NAME=${DOMAIN_NAME}
|
|
ports:
|
|
- '443:443'
|
|
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:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
mailhog:
|
|
condition: service_healthy
|
|
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:
|
|
condition: service_healthy
|
|
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:
|
|
condition: service_healthy
|
|
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
|
|
|
|
static-site:
|
|
container_name: static-site
|
|
build:
|
|
context: ./requirements/static-site
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
- DOMAIN_NAME=${DOMAIN_NAME}
|
|
networks:
|
|
- docker-network
|
|
restart: unless-stopped
|
|
|
|
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
|