Files
mnote/luckysheet-crdt-master/docker-compose.yml
T

79 lines
2.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
version: '3.8'
services:
# MySQL 数据库服务
mysql:
image: mysql:8.0
container_name: luckysheet-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123456}
MYSQL_DATABASE: ${MYSQL_DATABASE:-luckysheet_crdt}
MYSQL_USER: ${MYSQL_USER:-luckysheet}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-luckysheet123}
TZ: Asia/Shanghai
ports:
- "${MYSQL_PORT:-3306}:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./mysql/initdb:/docker-entrypoint-initdb.d
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
networks:
- luckysheet-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-root123456}"]
interval: 10s
timeout: 5s
retries: 5
# Luckysheet CRDT 应用服务
app:
build:
context: .
dockerfile: Dockerfile
container_name: luckysheet-app
restart: unless-stopped
environment:
NODE_ENV: production
# 数据库配置(对应 server/src/Config/index.ts
DB_HOST: ${DB_HOST:-mysql}
DB_PORT: ${DB_PORT:-3306}
DB_NAME: ${MYSQL_DATABASE:-luckysheet_crdt}
DB_USER: ${MYSQL_USER:-luckysheet}
DB_PASSWORD: ${MYSQL_PASSWORD:-luckysheet123}
# 服务端口
SERVER_PORT: ${SERVER_PORT:-9000}
TZ: Asia/Shanghai
ports:
- "${SERVER_PORT:-9000}:9000"
volumes:
- uploads_data:/app/public/uploads
- logs_data:/app/logs
depends_on:
mysql:
condition: service_healthy
networks:
- luckysheet-network
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9000"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
luckysheet-network:
driver: bridge
volumes:
mysql_data:
driver: local
uploads_data:
driver: local
logs_data:
driver: local