# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: LearnHouse
spec:
    description: Open-source learning platform — create courses, manage students, and deliver world-class educational content with an all-in-one LMS.
    coverImage: https://raw.githubusercontent.com/learnhouse/learnhouse/dev/.github/images/learnhouse-github.png
    icon: https://image.crisp.chat/avatar/website/dc95480a-4ebd-4bb3-b6eb-a3261d753eed/60/?1776431909281
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: Your LearnHouse domain (auto-assigned by Zeabur, customizable)
        - key: ADMIN_EMAIL
          type: STRING
          name: Admin Email
          description: Email address for the initial admin account
        - key: ADMIN_PASSWORD
          type: PASSWORD
          name: Admin Password
          description: Password for the initial admin account
    tags:
        - Education
        - LMS
        - Learning
        - Course
        - Open Source
    readme: |-
        # LearnHouse — Open Source Learning Platform (create by SEAFOODHOLDHAND)

        **LearnHouse** is a next-generation open source learning platform that makes it easy for anyone to provide world-class educational content. This template deploys a complete LearnHouse instance with a single click.

        This template includes:

        - **LearnHouse App** — all-in-one container with Next.js frontend, FastAPI backend, and real-time collaboration server
        - **PostgreSQL 16** — database for courses, users, and content
        - **Redis** — caching and session management

        ## Architecture

        ```
        [Zeabur LB] → LearnHouse App (:80, internal nginx)
                          ├─ /*           → Next.js Frontend (:8000)
                          ├─ /api/v1/*    → FastAPI Backend (:9000)
                          ├─ /api/auth/*  → NextAuth (via Frontend :8000)
                          ├─ /collab      → Collab WebSocket Server (:4000)
                          └─ /content/*   → Backend Static Content (:9000)
        ```

        The LearnHouse app image (`ghcr.io/learnhouse/app:latest`) is an all-in-one container that bundles:
        - **Next.js frontend** with runtime environment variable injection
        - **FastAPI backend** for API and content management
        - **Collab server** for real-time collaboration via WebSocket
        - **Internal nginx** for routing between frontend, backend, and collab

        ## Features

        - **Course Builder** — create and organize courses with drag-and-drop
        - **Rich Content** — support for text, video, embeds, and more
        - **Real-time Collaboration** — work together with live editing
        - **Multi-Organization** — support for multiple orgs on one instance
        - **Student Management** — invite students, track progress
        - **AI Features** — optional AI-powered features with OpenAI integration
        - **Content Storage** — filesystem or S3-compatible storage
        - **Authentication** — email/password + optional Google OAuth

        ## First Login

        After deployment completes (may take 2-3 minutes for initial startup):

        1. Open `https://your-domain.zeabur.app` in your browser
        2. Click **Sign In**
        3. Log in with the admin email you configured and the auto-generated password
        4. Find your password in Zeabur Dashboard → LearnHouse service → Environment Variables → `PASSWORD`
        5. Start creating your first course!

        ## Post-Deployment Configuration (Optional)

        You can customize these environment variables in the Zeabur Dashboard under the **LearnHouse** service:

        **Enable AI features:**
        - Set `LEARNHOUSE_IS_AI_ENABLED` to `True`
        - Set `LEARNHOUSE_OPENAI_API_KEY` to your OpenAI API key

        **Enable Google OAuth:**
        - Set `LEARNHOUSE_GOOGLE_CLIENT_ID` and `LEARNHOUSE_GOOGLE_CLIENT_SECRET`

        **Use S3 for content storage:**
        - Set `LEARNHOUSE_CONTENT_DELIVERY_TYPE` to `s3api`
        - Set `LEARNHOUSE_S3_API_BUCKET_NAME` and `LEARNHOUSE_S3_API_ENDPOINT_URL`

        **Enable email sending:**
        - Set `LEARNHOUSE_RESEND_API_KEY` to your Resend API key

        Learn more: https://github.com/learnhouse/learnhouse

        If you encounter any issues during deployment, please let me know via GitHub issues:
        [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    services:
        - name: PostgreSQL
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/postgresql.svg
          template: PREBUILT_V2
          spec:
            id: postgresql
            source:
                image: pgvector/pgvector:pg16
            ports:
                - id: database
                  port: 5432
                  type: TCP
            volumes:
                - id: pg-data
                  dir: /var/lib/postgresql/data
            env:
                POSTGRES_DB:
                    default: learnhouse
                    expose: true
                POSTGRES_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                POSTGRES_PASSWORD:
                    default: ${PASSWORD}
                    expose: true
                POSTGRES_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                POSTGRES_USER:
                    default: learnhouse
                    expose: true
        - name: Valkey
          icon: https://cdn.zeabur.com/valkey.svg
          template: PREBUILT_V2
          spec:
            id: valkey
            source:
                image: valkey/valkey:9-alpine
                command:
                    - valkey-server
                    - --appendonly
                    - "yes"
            ports:
                - id: redis
                  port: 6379
                  type: TCP
            volumes:
                - id: redis-data
                  dir: /data
        - name: Learnhouse
          icon: https://image.crisp.chat/avatar/website/dc95480a-4ebd-4bb3-b6eb-a3261d753eed/60/?1776431909281
          template: PREBUILT_V2
          spec:
            id: learnhouse
            source:
                image: ghcr.io/learnhouse/app:latest
            ports:
                - id: web
                  port: 80
                  type: HTTP
            env:
                COLLAB_INTERNAL_KEY:
                    default: ${PASSWORD}
                    expose: false
                HOSTNAME:
                    default: 0.0.0.0
                    expose: false
                LEARNHOUSE_API_URL:
                    default: http://localhost:9000
                    expose: false
                LEARNHOUSE_AUTH_JWT_SECRET_KEY:
                    default: ${PASSWORD}
                    expose: false
                LEARNHOUSE_CONTENT_DELIVERY_TYPE:
                    default: filesystem
                    expose: false
                LEARNHOUSE_COOKIE_DOMAIN:
                    default: ""
                    expose: false
                LEARNHOUSE_DEVELOPMENT_MODE:
                    default: "False"
                    expose: false
                LEARNHOUSE_DOMAIN:
                    default: ${ZEABUR_WEB_DOMAIN}
                    expose: false
                LEARNHOUSE_EMAIL_PROVIDER:
                    default: ""
                    expose: false
                LEARNHOUSE_GEMINI_API_KEY:
                    default: ""
                    expose: false
                LEARNHOUSE_GOOGLE_CLIENT_ID:
                    default: ""
                    expose: false
                LEARNHOUSE_GOOGLE_CLIENT_SECRET:
                    default: ""
                    expose: false
                LEARNHOUSE_INITIAL_ADMIN_EMAIL:
                    default: ${ADMIN_EMAIL}
                    expose: false
                LEARNHOUSE_INITIAL_ADMIN_PASSWORD:
                    default: ${ADMIN_PASSWORD}
                    expose: false
                LEARNHOUSE_INITIAL_ORG_NAME:
                    default: My Organization
                    expose: false
                LEARNHOUSE_INITIAL_ORG_SLUG:
                    default: default
                    expose: false
                LEARNHOUSE_IS_AI_ENABLED:
                    default: "False"
                    expose: false
                LEARNHOUSE_REDIS_CONNECTION_STRING:
                    default: redis://valkey:6379
                    expose: false
                LEARNHOUSE_REDIS_URL:
                    default: redis://valkey:6379
                    expose: false
                LEARNHOUSE_RESEND_API_KEY:
                    default: ""
                    expose: false
                LEARNHOUSE_S3_API_BUCKET_NAME:
                    default: ""
                    expose: false
                LEARNHOUSE_S3_API_ENDPOINT_URL:
                    default: ""
                    expose: false
                LEARNHOUSE_SQL_CONNECTION_STRING:
                    default: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
                    expose: false
                LEARNHOUSE_SYSTEM_EMAIL_ADDRESS:
                    default: ""
                    expose: false
                NEXT_PUBLIC_COLLAB_URL:
                    default: wss://${LEARNHOUSE_DOMAIN}/collab
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_API_URL:
                    default: https://${LEARNHOUSE_DOMAIN}/api/v1/
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL:
                    default: https://${LEARNHOUSE_DOMAIN}/
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_DEFAULT_ORG:
                    default: default
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_DOMAIN:
                    default: ${LEARNHOUSE_DOMAIN}
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_HTTPS:
                    default: "True"
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG:
                    default: "False"
                    expose: false
                NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN:
                    default: ${LEARNHOUSE_DOMAIN}
                    expose: false
                NEXT_PUBLIC_UNSPLASH_ACCESS_KEY:
                    default: ""
                    expose: false
                NEXTAUTH_SECRET:
                    default: ${PASSWORD}
                    expose: false
                NEXTAUTH_URL:
                    default: https://${LEARNHOUSE_DOMAIN}
                    expose: false
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: Plataforma de aprendizaje de código abierto — crea cursos, gestiona estudiantes y ofrece contenido educativo de primer nivel con un LMS todo en uno.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Dominio
              description: Dominio de tu instancia de LearnHouse (asignado automáticamente por Zeabur, personalizable)
            - key: ADMIN_EMAIL
              type: STRING
              name: Correo del administrador
              description: Correo electrónico para la cuenta de administrador inicial
            - key: ADMIN_PASSWORD
              type: PASSWORD
              name: Contraseña del administrador
              description: Contraseña para la cuenta de administrador inicial
        readme: |-
            # LearnHouse — Plataforma de aprendizaje de código abierto (creado por SEAFOODHOLDHAND)

            **LearnHouse** es una plataforma de aprendizaje de código abierto de próxima generación que permite a cualquier persona ofrecer contenido educativo de primer nivel. Esta plantilla despliega una instancia completa de LearnHouse con un solo clic.

            Esta plantilla incluye:

            - **Aplicación LearnHouse** — Contenedor todo en uno con frontend Next.js, backend FastAPI y servidor de colaboración en tiempo real
            - **PostgreSQL 16** — Base de datos para cursos, usuarios y contenido (con extensión pgvector)
            - **Valkey 9** — Caché y gestión de sesiones (alternativa Redis de código abierto)

            ## Arquitectura

            ```
            [Zeabur LB] → Aplicación LearnHouse (:80, nginx interno)
                              ├─ /*           → Frontend Next.js (:8000)
                              ├─ /api/v1/*    → Backend FastAPI (:9000)
                              ├─ /api/auth/*  → NextAuth (a través del Frontend :8000)
                              ├─ /collab      → Servidor WebSocket de Colaboración (:4000)
                              └─ /content/*   → Contenido Estático del Backend (:9000)
            ```

            ## Funcionalidades

            - **Constructor de cursos** — Crea y organiza cursos con arrastrar y soltar
            - **Contenido enriquecido** — Soporte para texto, vídeo, incrustaciones y más
            - **Colaboración en tiempo real** — Edición conjunta en vivo
            - **Multi-organización** — Una instancia soporta múltiples organizaciones
            - **Gestión de estudiantes** — Invita estudiantes, haz seguimiento del progreso
            - **Funciones de IA** — Funciones de IA opcionales (integración con Gemini)
            - **Almacenamiento de contenido** — Sistema de archivos o almacenamiento compatible con S3
            - **Autenticación** — Email/contraseña + Google OAuth opcional

            ## Primer inicio de sesión

            1. Abre `https://your-domain.zeabur.app` en el navegador
            2. Haz clic en **Iniciar sesión**
            3. Inicia sesión con el correo y la contraseña de administrador configurados
            4. ¡Comienza a crear tu primer curso!

            ## Configuración post-despliegue (opcional)

            Puedes personalizar estas variables de entorno en el panel de Zeabur bajo el servicio **LearnHouse**:

            **Activar funciones de IA：**
            - Establece `LEARNHOUSE_IS_AI_ENABLED` en `True`
            - Establece `LEARNHOUSE_GEMINI_API_KEY` con tu clave API de Gemini

            **Activar Google OAuth：**
            - Establece `LEARNHOUSE_GOOGLE_CLIENT_ID` y `LEARNHOUSE_GOOGLE_CLIENT_SECRET`

            **Usar almacenamiento S3：**
            - Establece `LEARNHOUSE_CONTENT_DELIVERY_TYPE` en `s3api`
            - Establece `LEARNHOUSE_S3_API_BUCKET_NAME` y `LEARNHOUSE_S3_API_ENDPOINT_URL`

            **Activar envío de correos：**
            - Establece `LEARNHOUSE_RESEND_API_KEY` con tu clave API de Resend

            Más información：https://github.com/learnhouse/learnhouse

            Si encuentras algún problema durante el despliegue, avísanos a través de GitHub issues：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    id-ID:
        description: Platform pembelajaran sumber terbuka — buat kursus, kelola siswa, dan sampaikan konten pendidikan kelas dunia dengan LMS serba dalam satu.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Domain
              description: Domain instance LearnHouse Anda (otomatis ditetapkan oleh Zeabur, dapat disesuaikan)
            - key: ADMIN_EMAIL
              type: STRING
              name: Email Admin
              description: Alamat email untuk akun administrator pertama
            - key: ADMIN_PASSWORD
              type: PASSWORD
              name: Kata Sandi Admin
              description: Kata sandi untuk akun administrator pertama
        readme: |-
            # LearnHouse — Platform Pembelajaran Sumber Terbuka (dibuat oleh SEAFOODHOLDHAND)

            **LearnHouse** adalah platform pembelajaran sumber terbuka generasi berikutnya yang memudahkan siapa saja menyediakan konten pendidikan kelas dunia. Template ini menyebarkan instance LearnHouse lengkap dalam satu klik.

            Template ini mencakup:

            - **Aplikasi LearnHouse** — Kontainer serba dalam satu dengan frontend Next.js, backend FastAPI, dan server kolaborasi real-time
            - **PostgreSQL 16** — Database untuk kursus, pengguna, dan konten (dengan ekstensi pgvector)
            - **Valkey 9** — Caching dan manajemen sesi (alternatif Redis sumber terbuka)

            ## Arsitektur

            ```
            [Zeabur LB] → Aplikasi LearnHouse (:80, nginx internal)
                              ├─ /*           → Frontend Next.js (:8000)
                              ├─ /api/v1/*    → Backend FastAPI (:9000)
                              ├─ /api/auth/*  → NextAuth (melalui Frontend :8000)
                              ├─ /collab      → Server WebSocket Kolaborasi (:4000)
                              └─ /content/*   → Konten Statis Backend (:9000)
            ```

            ## Fitur

            - **Pembuat Kursus** — Buat dan atur kursus dengan drag-and-drop
            - **Konten Kaya** — Dukungan untuk teks, video, embed, dan lainnya
            - **Kolaborasi Real-time** — Edit bersama secara langsung
            - **Multi-Organisasi** — Satu instance mendukung banyak organisasi
            - **Manajemen Siswa** — Undang siswa, lacak kemajuan
            - **Fitur AI** — Fitur AI opsional (integrasi Gemini)
            - **Penyimpanan Konten** — Filesystem atau penyimpanan kompatibel S3
            - **Autentikasi** — Email/kata sandi + Google OAuth opsional

            ## Login Pertama

            1. Buka `https://your-domain.zeabur.app` di browser
            2. Klik **Masuk**
            3. Login dengan email dan kata sandi admin yang dikonfigurasi
            4. Mulai buat kursus pertama Anda!

            ## Konfigurasi Pasca-Deploy (Opsional)

            Anda dapat menyesuaikan variabel lingkungan ini di Zeabur Dashboard pada layanan **LearnHouse**:

            **Aktifkan fitur AI：**
            - Setel `LEARNHOUSE_IS_AI_ENABLED` ke `True`
            - Setel `LEARNHOUSE_GEMINI_API_KEY` ke kunci API Gemini Anda

            **Aktifkan Google OAuth：**
            - Setel `LEARNHOUSE_GOOGLE_CLIENT_ID` dan `LEARNHOUSE_GOOGLE_CLIENT_SECRET`

            **Gunakan penyimpanan S3：**
            - Setel `LEARNHOUSE_CONTENT_DELIVERY_TYPE` ke `s3api`
            - Setel `LEARNHOUSE_S3_API_BUCKET_NAME` dan `LEARNHOUSE_S3_API_ENDPOINT_URL`

            **Aktifkan pengiriman email：**
            - Setel `LEARNHOUSE_RESEND_API_KEY` ke kunci API Resend Anda

            Pelajari lebih lanjut：https://github.com/learnhouse/learnhouse

            Jika mengalami masalah saat deployment, beri tahu melalui GitHub issues：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    ja-JP:
        description: オープンソース学習プラットフォーム — コースの作成、学生の管理、オールインワンLMSで世界クラスの教育コンテンツを届けます。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: ドメイン
              description: LearnHouse の公開ドメイン（Zeabur が自動割り当て、カスタマイズ可能）
            - key: ADMIN_EMAIL
              type: STRING
              name: 管理者メールアドレス
              description: 初期管理者アカウントのメールアドレス
            - key: ADMIN_PASSWORD
              type: PASSWORD
              name: 管理者パスワード
              description: 初期管理者アカウントのパスワード
        readme: |-
            # LearnHouse — 次世代オープンソース学習プラットフォーム（SEAFOODHOLDHAND 作成）

            **LearnHouse** は誰もが簡単にオンラインコースを作成・共有できる、次世代のオープンソース学習プラットフォームです。

            このテンプレートには以下が含まれます：

            - **LearnHouse アプリ** — Next.js フロントエンド + FastAPI バックエンド + リアルタイムコラボレーションサーバーのオールインワンコンテナ
            - **PostgreSQL 16** — コース、ユーザー、コンテンツ用データベース（pgvector 拡張付き）
            - **Valkey 9** — キャッシュとセッション管理（Redis 互換オープンソース代替）

            ## アーキテクチャ

            ```
            [Zeabur LB] → LearnHouse アプリ (:80, 内部 nginx)
                              ├─ /*           → Next.js フロントエンド (:8000)
                              ├─ /api/v1/*    → FastAPI バックエンド (:9000)
                              ├─ /api/auth/*  → NextAuth（フロントエンド経由 :8000）
                              ├─ /collab      → コラボ WebSocket サーバー (:4000)
                              └─ /content/*   → バックエンド静的コンテンツ (:9000)
            ```

            ## 主な機能

            - **コースビルダー** — ドラッグ＆ドロップでコースを作成・整理
            - **リッチコンテンツ** — テキスト、動画、埋め込みなどに対応
            - **リアルタイム共同編集** — WebSocket でリアルタイムに共同作業
            - **マルチ組織** — 1つのインスタンスで複数の組織を管理
            - **学生管理** — 学生の招待、進捗追跡
            - **AI 機能** — オプションの AI 機能（Gemini 統合）
            - **コンテンツストレージ** — ファイルシステムまたは S3 互換ストレージ
            - **認証** — メール/パスワード + オプションの Google OAuth

            ## 初回ログイン

            1. ブラウザで `https://your-domain.zeabur.app` を開く
            2. **サインイン** をクリック
            3. 設定した管理者メールアドレスとパスワードでログイン
            4. 最初のコースを作成しよう！

            ## デプロイ後の設定（オプション）

            Zeabur ダッシュボードの **LearnHouse** サービスで環境変数をカスタマイズできます：

            **AI 機能を有効にする：**
            - `LEARNHOUSE_IS_AI_ENABLED` を `True` に設定
            - `LEARNHOUSE_GEMINI_API_KEY` に Gemini API キーを設定

            **Google OAuth を有効にする：**
            - `LEARNHOUSE_GOOGLE_CLIENT_ID` と `LEARNHOUSE_GOOGLE_CLIENT_SECRET` を設定

            **S3 ストレージを使用する：**
            - `LEARNHOUSE_CONTENT_DELIVERY_TYPE` を `s3api` に設定
            - `LEARNHOUSE_S3_API_BUCKET_NAME` と `LEARNHOUSE_S3_API_ENDPOINT_URL` を設定

            **メール送信を有効にする：**
            - `LEARNHOUSE_RESEND_API_KEY` に Resend API キーを設定

            詳細：https://github.com/learnhouse/learnhouse

            デプロイに関する問題がある場合は、GitHub issues でお知らせください：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    zh-CN:
        description: 开源学习平台 — 创建课程、管理学生，一站式 LMS 打造顶级教学体验。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 域名
              description: 你的 LearnHouse 域名（Zeabur 自动分配，可自定义）
            - key: ADMIN_EMAIL
              type: STRING
              name: 管理员邮箱
              description: 初始管理员账号的电子邮件地址
            - key: ADMIN_PASSWORD
              type: PASSWORD
              name: 管理员密码
              description: 初始管理员账号的密码
        readme: |-
            # LearnHouse — 开源学习平台（由 SEAFOODHOLDHAND 创建）

            **LearnHouse** 是新一代开源学习平台，让任何人都能轻松提供顶级教学内容。此模板一键部署完整的 LearnHouse 实例。

            此模板包含：

            - **LearnHouse 应用** — 集成式容器，包含 Next.js 前端、FastAPI 后端和实时协作服务器
            - **PostgreSQL 16** — 课程、用户和内容的数据库
            - **Valkey 9** — 缓存和会话管理（开源 Redis 替代品）

            ## 架构

            ```
            [Zeabur 负载均衡] → LearnHouse 应用 (:80，内部 nginx)
                                   ├─ /*           → Next.js 前端 (:8000)
                                   ├─ /api/v1/*    → FastAPI 后端 (:9000)
                                   ├─ /api/auth/*  → NextAuth（经前端 :8000）
                                   ├─ /collab      → 协作 WebSocket 服务器 (:4000)
                                   └─ /content/*   → 后端静态内容 (:9000)
            ```

            ## 功能

            - **课程构建器** — 拖放式创建和组织课程
            - **丰富内容** — 支持文字、视频、嵌入等
            - **实时协作** — 实时编辑共同工作
            - **多组织** — 一个实例支持多个组织
            - **学生管理** — 邀请学生、追踪进度
            - **AI 功能** — 可选的 AI 功能（集成 Gemini）
            - **内容存储** — 文件系统或 S3 兼容存储
            - **认证** — 邮箱/密码 + 可选 Google OAuth

            ## 首次登录

            1. 在浏览器打开 `https://your-domain.zeabur.app`
            2. 点击 **登录**
            3. 使用设置期间配置的管理员邮箱和密码登录
            4. 开始创建你的第一个课程！

            ## 部署后配置（可选）

            你可以在 Zeabur 控制台的 **LearnHouse** 服务下自定义这些环境变量：

            **启用 AI 功能：**
            - 将 `LEARNHOUSE_IS_AI_ENABLED` 设为 `True`
            - 将 `LEARNHOUSE_GEMINI_API_KEY` 设为你的 Gemini API 密钥

            **启用 Google OAuth：**
            - 设置 `LEARNHOUSE_GOOGLE_CLIENT_ID` 和 `LEARNHOUSE_GOOGLE_CLIENT_SECRET`

            **使用 S3 存储内容：**
            - 将 `LEARNHOUSE_CONTENT_DELIVERY_TYPE` 设为 `s3api`
            - 设置 `LEARNHOUSE_S3_API_BUCKET_NAME` 和 `LEARNHOUSE_S3_API_ENDPOINT_URL`

            **启用邮件发送：**
            - 设置 `LEARNHOUSE_RESEND_API_KEY` 为你的 Resend API 密钥

            了解更多：https://github.com/learnhouse/learnhouse

            如在部署期间遇到任何问题，请通过 GitHub issues 告知：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    zh-TW:
        description: 開源學習平台 — 建立課程、管理學生，一站式 LMS 打造頂級教學體驗。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 網域
              description: 你的 LearnHouse 網域（Zeabur 自動分配，可自訂）
            - key: ADMIN_EMAIL
              type: STRING
              name: 管理員電郵
              description: 初始管理員帳號的電子郵件
            - key: ADMIN_PASSWORD
              type: PASSWORD
              name: 管理員密碼
              description: 初始管理員帳號的密碼
        readme: |-
            # LearnHouse — 開源學習平台（由 SEAFOODHOLDHAND 建立）

            **LearnHouse** 是新一代開源學習平台，讓任何人都能輕鬆提供頂級教學內容。此模板一鍵部署完整的 LearnHouse 實例。

            此模板包含：

            - **LearnHouse 應用** — 整合式容器，包含 Next.js 前端、FastAPI 後端和即時協作伺服器
            - **PostgreSQL 16** — 課程、用戶和內容的資料庫
            - **Valkey 9** — 快取和會話管理（開源 Redis 替代品）

            ## 架構

            ```
            [Zeabur 負載均衡] → LearnHouse 應用 (:80，內部 nginx)
                                   ├─ /*           → Next.js 前端 (:8000)
                                   ├─ /api/v1/*    → FastAPI 後端 (:9000)
                                   ├─ /api/auth/*  → NextAuth（經前端 :8000）
                                   ├─ /collab      → 協作 WebSocket 伺服器 (:4000)
                                   └─ /content/*   → 後端靜態內容 (:9000)
            ```

            ## 功能

            - **課程建構器** — 拖放式建立和組織課程
            - **豐富內容** — 支援文字、影片、嵌入等
            - **即時協作** — 即時編輯共同工作
            - **多組織** — 一個實例支援多個組織
            - **學生管理** — 邀請學生、追蹤進度
            - **AI 功能** — 可選的 AI 功能（整合 Gemini）
            - **內容儲存** — 檔案系統或 S3 相容儲存
            - **認證** — 電郵/密碼 + 可選 Google OAuth

            ## 首次登入

            部署完成後（初始啟動可能需要 2-3 分鐘）：

            1. 在瀏覽器開啟 `https://your-domain.zeabur.app`
            2. 點擊 **登入**
            3. 使用設定期間配置的管理員電郵和密碼登入
            4. 開始建立你的第一個課程！

            ## 部署後配置（可選）

            你可以在 Zeabur 控制台的 **LearnHouse** 服務下自定義這些環境變數：

            **啟用 AI 功能：**
            - 將 `LEARNHOUSE_IS_AI_ENABLED` 設為 `True`
            - 將 `LEARNHOUSE_GEMINI_API_KEY` 設為你的 Gemini API 金鑰

            **啟用 Google OAuth：**
            - 設定 `LEARNHOUSE_GOOGLE_CLIENT_ID` 和 `LEARNHOUSE_GOOGLE_CLIENT_SECRET`

            **使用 S3 儲存內容：**
            - 將 `LEARNHOUSE_CONTENT_DELIVERY_TYPE` 設為 `s3api`
            - 設定 `LEARNHOUSE_S3_API_BUCKET_NAME` 和 `LEARNHOUSE_S3_API_ENDPOINT_URL`

            **啟用電郵發送：**
            - 設定 `LEARNHOUSE_RESEND_API_KEY` 為你的 Resend API 金鑰

            了解更多：https://github.com/learnhouse/learnhouse

            如在部署期間遇到任何問題，請透過 GitHub issues 告知：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
