Просмотр исходного кода

chore: Update docker-compose.yml

CalciumIon 1 год назад
Родитель
Сommit
9e08709756
1 измененных файлов с 20 добавлено и 5 удалено
  1. 20 5
      docker-compose.yml

+ 20 - 5
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: