# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: atri-server
spec:
    description: ATRI VPS 后端（自带网页控制台；打开域名自动进入控制台）
    variables:
        - key: DOMAIN
          type: DOMAIN
          name: 访问域名
          description: Zeabur 生成的 *.zeabur.app 子域名
        - key: PASSWORD
          type: STRING
          name: 密码
          description: 用于管理后台登录和客户端鉴权（请用强密码）
    tags:
        - atri
        - ai
        - chat
        - admin
    readme: |
        # ATRI Server（Zeabur 一键部署）

        部署完成后直接访问你的域名，会自动跳到 `/admin` 进入控制台。

        - **管理后台登录**：用你填写的 `密码`
        - **客户端 APP_TOKEN**：同样是你填写的 `密码`
        - **上游 API**：部署后在后台配置（OpenAI/Anthropic/Gemini）
        - **密码提示**：可以用强密码（带 `@ : / # ?` 等特殊字符也没问题）
    services:
        - name: db
          template: PREBUILT
          spec:
            source:
                image: pgvector/pgvector:pg16
            ports:
                - id: tcp
                  port: 5432
                  type: TCP
            volumes:
                - id: db-data
                  dir: /var/lib/postgresql/data
            env:
                POSTGRES_DB:
                    default: atri
                POSTGRES_PASSWORD:
                    default: ${PASSWORD}
                POSTGRES_USER:
                    default: atri
        - name: api
          template: PREBUILT
          spec:
            source:
                image: ghcr.io/mikuscat/atri-server:latest
            ports:
                - id: web
                  port: 3111
                  type: HTTP
            volumes:
                - id: api-data
                  dir: /data
            env:
                ADMIN_ALLOWED_ORIGINS:
                    default: https://${DOMAIN}
                ADMIN_API_KEY:
                    default: ${PASSWORD}
                ADMIN_CONFIG_ENCRYPTION_KEY:
                    default: ${PASSWORD}
                ADMIN_PUBLIC:
                    default: "1"
                APP_TOKEN:
                    default: ${PASSWORD}
                HOST:
                    default: 0.0.0.0
                MEDIA_ROOT:
                    default: /data/media
                PORT:
                    default: "3111"
                POSTGRES_DB:
                    default: atri
                POSTGRES_PASSWORD:
                    default: ${PASSWORD}
                POSTGRES_PORT:
                    default: "5432"
                POSTGRES_USER:
                    default: atri
                PUBLIC_BASE_URL:
                    default: https://${DOMAIN}
