services: one-hub: image: martialbe/one-api:v0.14.22 container_name: ${CONTAINER_NAME} restart: always ports: - ${PANEL_APP_PORT_HTTP}:3000 networks: - 1panel-network command: --log-dir /app/logs volumes: - ./data:/data - ./logs:/app/logs environment: - SQL_DSN=root:${PANEL_DB_ROOT_PASSWORD}@tcp(${CONTAINER_NAME}-mysql:3306)/${PANEL_DB_NAME} # 修改此行,或注释掉以使用 SQLite 作为数据库 - TZ=Asia/Shanghai - REDIS_CONN_STRING=redis://${CONTAINER_NAME}-redis - USER_TOKEN_SECRET=${USER_TOKEN_SECRET} - 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 labels: createdBy: "Apps" mysql: image: mysql:8.2 container_name: ${CONTAINER_NAME}-mysql restart: always volumes: - onehub-mysql_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${PANEL_DB_ROOT_PASSWORD} # MySQL root用户密码 - MYSQL_DATABASE=${PANEL_DB_NAME} # 创建的数据库名 networks: - 1panel-network redis: image: redis:latest container_name: ${CONTAINER_NAME}-redis restart: always networks: - 1panel-network volumes: onehub-mysql_data: networks: 1panel-network: external: true