version: '3.8' services: frontend: build: context: . dockerfile: docker/frontend/Dockerfile container_name: support-frontend volumes: - frontend_build:/app/dist networks: - app-network backend: build: context: . dockerfile: docker/backend/Dockerfile container_name: support-backend environment: - TELEGRAM_BOT_TOKEN=7677506032:AAHEqNUr1lIUfNVbLwaWIaPeKKShsCyz3eo - TELEGRAM_CHAT_ID=-1002037023574 ports: - "8000:8000" volumes: - ./backend:/app - ./sql_app.db:/app/sql_app.db:rw - ./logs:/app/logs:rw networks: - app-network restart: unless-stopped nginx: build: context: . dockerfile: docker/nginx/Dockerfile container_name: support-nginx restart: unless-stopped ports: - "80:80" - "443:443" volumes: - frontend_build:/usr/share/nginx/html - ./docker/nginx/conf.d:/etc/nginx/conf.d - ./certbot/conf:/etc/letsencrypt - ./certbot/www:/var/www/certbot networks: - app-network depends_on: - frontend - backend command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" certbot: image: certbot/certbot container_name: support-certbot volumes: - ./certbot/conf:/etc/letsencrypt - ./certbot/www:/var/www/certbot entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" networks: app-network: driver: bridge volumes: frontend_build: