version: '3.9' services: ref_test_server: container_name: ref_test_server image: nginx:1.21.4-alpine volumes: - ./certbot:/etc/letsencrypt:ro - ./nginx:/etc/nginx - ./src/html:/usr/share/nginx/html/ - ./ref-test/admin/static:/usr/share/nginx/html/admin/static - ./ref-test/quiz/static:/usr/share/nginx/html/quiz/static ports: - 80:80 - 443:443 restart: unless-stopped networks: - frontend depends_on: - ref_test_app ref_test_app: container_name: ref_test_app build: ./ref-test env_file: - ./.env ports: - 5000 restart: unless-stopped networks: - frontend - backend depends_on: - ref_test_db - ref_test_postfix ref_test_db: container_name: ref_test_db image: mongo:5.0.4-focal restart: unless-stopped volumes: - ./database/data:/data/db - ./database/initdb.d/:/docker-entrypoint-initdb.d/ env_file: - ./.env ports: - 27017 networks: - backend ref_test_postfix: container_name: ref_test_postfix image: catatnight/postfix:latest restart: unless-stopped env_file: - ./.env ports: - 25 networks: - backend ref_test_certbot: container_name: ref_test_certbot image: certbot/certbot:v1.21.0 volumes: - ./certbot:/etc/letsencrypt - ./src/html:/var/www/html depends_on: - ref_test_server # command: certonly --webroot --webroot-path=/var/www/html --email (email) --agree-tos --no-eff-email -d (domain) networks: frontend: external: false backend: external: false