version: '3.8' services: nginx: build: context: . dockerfile: Dockerfile args: - ENABLE_PHP=${ENABLE_PHP:-1} - PHP_VERSION=${PHP_VERSION:-8.3} container_name: nginx ports: - "80:80" - "443:443" volumes: - ./configs/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./configs/nginx/conf.d:/etc/nginx/conf.d:ro - ./configs/nginx/sites-available:/etc/nginx/sites-available:ro - ./configs/nginx/sites-enabled:/etc/nginx/sites-enabled:ro - ./configs/nginx/snippets:/etc/nginx/snippets:ro - ./configs/nginx/ssl:/etc/nginx/ssl:ro - ./html:/usr/share/nginx/html - ./configs/php:/usr/local/etc/php - ./configs/logs:/var/log/nginx - ./configs/lua:/etc/nginx/lua:ro - letsencrypt:/etc/letsencrypt - nginx_data:/var/www/html - php_data:/var/lib/php environment: - DOMAINS=${DOMAINS:-domain1.com,domain2.com,domain3.com} - EMAIL=${EMAIL:-your-email@example.com} - ENABLE_PHP=${ENABLE_PHP:-1} - PHP_VERSION=${PHP_VERSION:-8.3} restart: unless-stopped networks: - app-network volumes: letsencrypt: nginx_data: php_data: networks: app-network: external: true