| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- services:
- im_mysql:
- image: mysql:8.0
- container_name: im_mysql
- environment:
- MYSQL_ROOT_PASSWORD: root123
- MYSQL_DATABASE: spider
- MYSQL_CHARACTER_SET_SERVER: utf8mb4
- MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
- ports:
- - "3307:3306"
- volumes:
- - mysql_data:/var/lib/mysql
- healthcheck:
- test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot123"]
- interval: 10s
- timeout: 5s
- retries: 10
- start_period: 300s
- networks:
- - chat_im_network
- im_redis:
- image: redis:7-alpine
- container_name: im_redis
- ports:
- - "6379:6379"
- volumes:
- - redis_data:/data
- healthcheck:
- test: ["CMD", "redis-cli", "ping"]
- interval: 10s
- timeout: 3s
- retries: 5
- networks:
- - chat_im_network
- api:
- build:
- context: ..
- dockerfile: deploy/Dockerfile.api
- container_name: spider_api
- ports:
- - "8200:8080"
- volumes:
- - ../configs:/app/configs
- - ../sessions:/app/sessions
- environment:
- - GIN_MODE=release
- - TG_SECRET_KEY=${TG_SECRET_KEY:-d9RkIHw7wLaa5Qx+B7/QOw5K6+bW67Ife4UK91h4Z2Q=}
- depends_on:
- im_mysql:
- condition: service_healthy
- im_redis:
- condition: service_healthy
- restart: unless-stopped
- healthcheck:
- test: ["CMD", "wget", "-q", "-O-", "http://localhost:8080/ping"]
- interval: 15s
- timeout: 5s
- retries: 3
- start_period: 120s
- networks:
- - chat_im_network
- web:
- build:
- context: ..
- dockerfile: deploy/Dockerfile.web
- container_name: spider_web
- ports:
- - "8300:80"
- depends_on:
- api:
- condition: service_healthy
- restart: unless-stopped
- healthcheck:
- test: ["CMD", "curl", "-sf", "http://localhost:80/"]
- interval: 30s
- timeout: 5s
- retries: 3
- networks:
- - chat_im_network
- networks:
- chat_im_network:
- driver: bridge
- volumes:
- mysql_data:
- redis_data:
|