Files

62 lines
1.3 KiB
YAML
Raw Permalink Normal View History

version: '3.8'
services:
db:
image: mysql:8.0
container_name: lingxi_crm_db
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
ports:
- "${DB_PORT}:3306"
volumes:
- ./server/db/crm.sql:/docker-entrypoint-initdb.d/crm.sql
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-u", "root", "-p${DB_ROOT_PASSWORD}"]
timeout: 20s
retries: 10
redis:
image: redis:alpine
container_name: lingxi_crm_redis
ports:
- "${REDIS_PORT}:6379"
volumes:
- redis_data:/data
server:
build:
context: ./server
dockerfile: Dockerfile
container_name: lingxi_crm_server
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
ports:
- "${SERVER_PORT}:8000"
volumes:
- ./server/config.docker.yaml:/app/config.yaml
- server_uploads:/app/source
environment:
- RUN_ENV=prod
web:
build:
context: ./web
dockerfile: Dockerfile
args:
- VITE_API_BASE_URL=${API_BASE_URL}
container_name: lingxi_crm_web
ports:
- "${WEB_PORT}:80"
depends_on:
- server
volumes:
db_data:
redis_data:
server_uploads: