diff --git a/docker-compose.yml b/docker-compose.yml index fff27162..25ed0a72 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,6 @@ version: '3.4' services: new-api: image: calciumion/new-api:latest - # build: . container_name: new-api restart: always command: --log-dir /app/logs @@ -13,16 +12,17 @@ services: - ./data:/data - ./logs:/app/logs environment: - - SQL_DSN=root:123456@tcp(host.docker.internal:3306)/new-api # 修改此行,或注释掉以使用 SQLite 作为数据库 + - SQL_DSN=root:123456@tcp(mysql:3306)/new-api # Point to the mysql service - REDIS_CONN_STRING=redis://redis - SESSION_SECRET=random_string # 修改为随机字符串 - TZ=Asia/Shanghai -# - NODE_TYPE=slave # 多机部署时从节点取消注释该行 -# - SYNC_FREQUENCY=60 # 需要定期从数据库加载数据时取消注释该行 -# - FRONTEND_BASE_URL=https://openai.justsong.cn # 多机部署时从节点取消注释该行 + # - NODE_TYPE=slave # Uncomment for slave node in multi-node deployment + # - SYNC_FREQUENCY=60 # Uncomment if regular database syncing is needed + # - FRONTEND_BASE_URL=https://openai.justsong.cn # Uncomment for multi-node deployment with front-end URL depends_on: - redis + - mysql healthcheck: test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $2}'" ] interval: 30s @@ -33,3 +33,18 @@ services: image: redis:latest container_name: redis restart: always + + mysql: + image: mysql:8.2 + container_name: mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: 123456 # Ensure this matches the password in SQL_DSN + MYSQL_DATABASE: new-api + volumes: + - mysql_data:/var/lib/mysql + ports: + - "3306:3306" # If you want to access MySQL from outside Docker, uncomment + +volumes: + mysql_data: