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