# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: GPT-Load
spec:
    description: 一键部署 GPT-Load，一个强大的GPT负载均衡和API管理工具。
    variables:
        - key: AUTH_KEY
          type: STRING
          name: 认证密钥
          description: 【必需】用于保护管理 API 和 UI 界面的密码。
        - key: DOMAIN
          type: DOMAIN
          name: 服务域名
          description: 用于访问 GPT-Load 服务的公开域名。
    tags:
        - gpt
        - load-balancing
        - api-management
        - proxy
    readme: |
        # GPT-Load - GPT 负载均衡器

        一键部署 GPT-Load，一个功能强大的GPT负载均衡和API管理工具。

        **核心功能:**
        - **负载均衡**: 在多个GPT服务或API密钥之间分配请求。
        - **API管理**: 统一管理和监控您的API使用情况。
        - **持久化存储**: 使用内置的SQLite或连接外部数据库来保存配置。

        **重要提示**: 部署时必须提供一个 `AUTH_KEY` 用于保护管理界面。

        ## 使用教程

        1.  **配置项目地址**:
            - 部署成功后，进入 GPT-Load 的系统设置。
            - 将 **项目地址** 修改为您服务的公开域名（例如：`https://<你的服务域名>.zeabur.app`）。

        2.  **API 配置示例 (以 Google AI Studio 为例)**:
            - 在使用 API 时，选择渠道商为 `Google AI Studio`。
            - 在 **项目地址** 字段中，添加代理 URL。
            - 输入您在部署时设置的 `AUTH_KEY` 作为密码。
    services:
        - name: GPT-Load
          template: PREBUILT
          spec:
            id: gpt-load
            source:
                image: ghcr.io/tbphp/gpt-load:latest
            ports:
                - id: web
                  port: 3001
                  type: HTTP
            volumes:
                - id: data
                  dir: /app/data
            env:
                ALLOW_CREDENTIALS:
                    default: "false"
                ALLOWED_HEADERS:
                    default: '*'
                ALLOWED_METHODS:
                    default: GET,POST,PUT,DELETE,OPTIONS
                ALLOWED_ORIGINS:
                    default: '*'
                AUTH_KEY:
                    default: ${AUTH_KEY}
                DATABASE_DSN:
                    default: ""
                ENABLE_CORS:
                    default: "true"
                HOST:
                    default: 0.0.0.0
                IS_SLAVE:
                    default: "false"
                LOG_ENABLE_FILE:
                    default: "true"
                LOG_FILE_PATH:
                    default: ./data/logs/app.log
                LOG_FORMAT:
                    default: text
                LOG_LEVEL:
                    default: info
                MAX_CONCURRENT_REQUESTS:
                    default: "100"
                PORT:
                    default: "3001"
                REDIS_DSN:
                    default: ""
                SERVER_GRACEFUL_SHUTDOWN_TIMEOUT:
                    default: "10"
                SERVER_IDLE_TIMEOUT:
                    default: "120"
                SERVER_READ_TIMEOUT:
                    default: "60"
                SERVER_WRITE_TIMEOUT:
                    default: "600"
                TZ:
                    default: Asia/Shanghai
          domainKey: DOMAIN
