name: ${WPSTACK_PROJECT_NAME:-wpstack} services: reverse-proxy: container_name: ${WPSTACK_PROJECT_NAME:-wpstack}-reverse-proxy image: hackeamos/httpd build: context: './docker/nginx' depends_on: - app volumes: - ./webroot:/var/www/html environment: WORDPRESS_SITEURL: ${WPSTACK_PROTOCOL}://${WPSTACK_DOMAIN}/${WPSTACK_URLPATH:-} WORDPRESS_SITE_TYPE: ${WPSTACK_MULTISITE:-regular} labels: caddy: ${WPSTACK_DOMAIN} caddy.reverse_proxy: "reverse-proxy:80" caddy.tls: "internal" networks: - app-network - proxy-network app: container_name: ${WPSTACK_PROJECT_NAME:-wpstack}-app image: hackeamos/wp build: context: . dockerfile: ./docker/wordpress/Dockerfile volumes: - ./webroot:/var/www/html environment: WORDPRESS_DB_HOST: ${WPSTACK_PROJECT_NAME:-wpstack}-db WORDPRESS_DB_USER: ${DB_USER} WORDPRESS_DB_NAME: ${DB_NAME} WORDPRESS_DB_PASSWORD: ${DB_PASS} WORDPRESS_TABLE_PREFIX: ${DB_PREFIX:-wp_} WORDPRESS_SITEURL: ${WPSTACK_PROTOCOL}://${WPSTACK_DOMAIN}/${WPSTACK_URLPATH:-} WORDPRESS_BLOGNAME: ${WPSTACK_BLOGNAME:-} WORDPRESS_ADMIN_USER: ${WPSTACK_ADMIN_USER:-admin} WORDPRESS_ADMIN_EMAIL: ${WPSTACK_ADMIN_EMAIL} WORDPRESS_MULTISITE: ${WPSTACK_MULTISITE:-} # '' (default), subdomain or path SMTP_HOST: ${SMTP_HOST:-} SMTP_PORT: ${SMTP_PORT:-} SMTP_USER: ${SMTP_USER:-} SMTP_PASS: ${SMTP_PASS:-} SMTP_AUTH: ${SMTP_AUTH:-} SMTP_TLS: ${SMTP_TLS:-} networks: - app-network - proxy-network db: container_name: ${WPSTACK_PROJECT_NAME:-wpstack}-db image: mariadb volumes: - db_data:/var/lib/mysql - ../db:/docker-entrypoint-initdb.d environment: MARIADB_RANDOM_ROOT_PASSWORD: true MARIADB_USER: ${DB_USER} MARIADB_PASSWORD: ${DB_PASS} MARIADB_DATABASE: ${DB_NAME} networks: - app-network - proxy-network volumes: db_data: networks: app-network: proxy-network: external: true