# https://blog.thelazyfox.xyz/how-to-create-healthchecks-for-docker/ version: '3.7' services: caddy: build: context: ./ dockerfile: ./DockerfileCaddy cap_add: - NET_ADMIN ports: - "6752:6752" volumes: - ./CaddyfileDev:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config networks: - web_network healthcheck: test: ["CMD-SHELL", "curl http://caddy:6752/ --max-time 80"] interval: 30s start_period: 20s timeout: 80s retries: 3 restart: always web: build: context: ./ dockerfile: ./Dockerfile command: python3 -m server server volumes: # - ./.env:/app/.env # - ./server/user_data/logs:/app/server/user_data/logs - .:/app develop: watch: - action: rebuild path: ./server target: /app/server - action: rebuild path: ./core target: /app/core - action: rebuild path: ./rl_string_helper target: /app/rl_string_helper - action: rebuild path: ./database-lib target: /app/database-lib - action: rebuild path: "**/requirements.txt" - action: rebuild path: "**/requirements-fast.txt" expose: - 7080 networks: - web_network healthcheck: test: ["CMD-SHELL", "curl http://localhost:7080/ --max-time 60"] interval: 30s start_period: 20s timeout: 80s retries: 3 restart: always mem_limit: 2g dragonfly: image: 'docker.dragonflydb.io/dragonflydb/dragonfly' ulimits: memlock: -1 expose: - 6379 networks: - web_network volumes: - dragonflydata:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 30s start_period: 20s timeout: 10s retries: 3 restart: always autoheal: restart: always image: willfarrell/autoheal environment: - AUTOHEAL_CONTAINER_LABEL=all volumes: - /var/run/docker.sock:/var/run/docker.sock volumes: caddy_data: caddy_config: dragonflydata: networks: web_network: driver: bridge