| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- version: '3.4'
- services:
- new-api:
- image: calciumion/new-api:latest
- container_name: new-api
- restart: always
- command: --log-dir /app/logs
- ports:
- - "3000:3000"
- volumes:
- - ./data:/data
- - ./logs:/app/logs
- environment:
- - SQL_DSN=root:123456@tcp(mysql:3306)/new-api # Point to the mysql service
- - REDIS_CONN_STRING=redis://redis
- - TZ=Asia/Shanghai
- - ERROR_LOG_ENABLED=true # 是否启用错误日志记录
- # - STREAMING_TIMEOUT=120 # 流模式无响应超时时间,单位秒,默认120秒,如果出现空补全可以尝试改为更大值
- # - SESSION_SECRET=random_string # 多机部署时设置,必须修改这个随机字符串!!!!!!!
- # - 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
- timeout: 10s
- retries: 3
- redis:
- 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:
|