web/docker-compose-dev.yml
2024-06-07 18:28:29 +05:00

103 lines
2.6 KiB
YAML

# 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 -f http://caddy:6752/ --max-time 80 --header 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3 Safari/605.1.15'"]
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
- ./core/medium_parser/:/app/medium_parser
- ./core/rl_string_helper/:/app/rl_string_helper
# 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 -f http://localhost:7080/ --max-time 80 --header 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3 Safari/605.1.15'"]
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