# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Centrifugo
spec:
    description: |
        Centrifugo is a scalable real-time messaging server. It handles WebSocket, SSE, and HTTP streaming connections, allowing you to build interactive chat apps, live comments, multiplayer games, and real-time dashboards. Includes a built-in admin web UI.
    coverImage: https://avatars.githubusercontent.com/u/10844614
    icon: https://avatars.githubusercontent.com/u/10844614
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access Centrifugo
    tags:
        - Tool
        - Communication
    readme: |
        # Centrifugo

        A scalable real-time messaging server supporting WebSocket, SSE, and HTTP streaming. Build chat apps, live dashboards, collaborative editing, and multiplayer games with ease.

        ## Getting Started

        1. **Visit your domain** — open the admin UI at `/admin`
        2. **Admin password** — find it in **Service > Variables > `CENTRIFUGO_ADMIN_PASSWORD`**
        3. **API key** — use `CENTRIFUGO_HTTP_API_KEY` to authenticate server-side API calls
        4. **Token secret** — use `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` to sign client JWT tokens

        ## Key Features

        - WebSocket, SSE, HTTP streaming, and GRPC transports
        - Built-in admin web UI for monitoring
        - JWT-based authentication
        - Channel-level publish/subscribe
        - Presence and history support
        - Horizontal scalability with Redis or NATS

        ## License

        MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    services:
        - name: centrifugo
          icon: https://avatars.githubusercontent.com/u/10844614
          template: PREBUILT_V2
          spec:
            source:
                image: centrifugo/centrifugo:v6.7.0
            ports:
                - id: web
                  port: 8000
                  type: HTTP
            env:
                CENTRIFUGO_ADMIN_ENABLED:
                    default: "true"
                CENTRIFUGO_ADMIN_PASSWORD:
                    default: ${PASSWORD}
                CENTRIFUGO_ADMIN_SECRET:
                    default: ${PASSWORD}
                CENTRIFUGO_CLIENT_ALLOWED_ORIGINS:
                    default: '*'
                CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY:
                    default: ${PASSWORD}
                CENTRIFUGO_HTTP_API_KEY:
                    default: ${PASSWORD}
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /health
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Centrifugo es un servidor de mensajeria en tiempo real escalable. Soporta WebSocket, SSE y HTTP streaming para construir chats, dashboards en vivo y juegos multijugador. Incluye panel de administracion.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a Centrifugo
        readme: |
            # Centrifugo

            Servidor de mensajeria en tiempo real escalable. Soporta WebSocket, SSE y HTTP streaming.

            ## Primeros pasos

            1. **Visita tu dominio** — abre el panel de administracion en `/admin`
            2. **Contrasena de admin** — consultala en **Servicio > Variables > `CENTRIFUGO_ADMIN_PASSWORD`**
            3. **Clave API** — usa `CENTRIFUGO_HTTP_API_KEY` para autenticar llamadas API del servidor
            4. **Secreto del token** — usa `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` para firmar JWT de clientes

            ## Licencia

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    id-ID:
        description: |
            Centrifugo adalah server pesan real-time yang dapat diskalakan. Mendukung WebSocket, SSE, dan HTTP streaming untuk membangun aplikasi chat, dashboard langsung, dan game multiplayer. Dilengkapi UI admin.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses Centrifugo
        readme: |
            # Centrifugo

            Server pesan real-time yang dapat diskalakan. Mendukung WebSocket, SSE, dan HTTP streaming.

            ## Memulai

            1. **Buka domain** — akses panel admin di `/admin`
            2. **Password admin** — lihat di **Service > Variables > `CENTRIFUGO_ADMIN_PASSWORD`**
            3. **API key** — gunakan `CENTRIFUGO_HTTP_API_KEY` untuk autentikasi API server
            4. **Token secret** — gunakan `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` untuk menandatangani JWT klien

            ## Lisensi

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    ja-JP:
        description: |
            Centrifugo はスケーラブルなリアルタイムメッセージングサーバーです。WebSocket、SSE、HTTPストリーミングをサポートし、チャットやダッシュボード、マルチプレイヤーゲームを構築できます。管理UIを内蔵。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: Centrifugo にアクセスするためのドメイン
        readme: |
            # Centrifugo

            スケーラブルなリアルタイムメッセージングサーバー。WebSocket、SSE、HTTPストリーミング対応。

            ## はじめに

            1. **ドメインにアクセス** — `/admin` で管理画面を開く
            2. **管理パスワード** — **サービス > Variables > `CENTRIFUGO_ADMIN_PASSWORD`** で確認
            3. **APIキー** — `CENTRIFUGO_HTTP_API_KEY` でサーバーサイドAPI認証
            4. **トークンシークレット** — `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` でクライアントJWTに署名

            ## ライセンス

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    ko-KR:
        description: |
            Centrifugo는 확장 가능한 실시간 메시징 서버입니다. WebSocket, SSE, HTTP 스트리밍을 지원하며, 채팅 앱, 실시간 대시보드, 멀티플레이어 게임을 구축할 수 있습니다. 관리 UI 내장.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: Centrifugo에 접속할 도메인
        readme: |
            # Centrifugo

            확장 가능한 실시간 메시징 서버. WebSocket, SSE, HTTP 스트리밍 지원.

            ## 시작하기

            1. **도메인 접속** — `/admin`에서 관리 화면 열기
            2. **관리 비밀번호** — **서비스 > Variables > `CENTRIFUGO_ADMIN_PASSWORD`** 에서 확인
            3. **API 키** — `CENTRIFUGO_HTTP_API_KEY`로 서버 측 API 인증
            4. **토큰 시크릿** — `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY`로 클라이언트 JWT 서명

            ## 라이선스

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    th-TH:
        description: |
            Centrifugo เป็นเซิร์ฟเวอร์ส่งข้อความแบบเรียลไทม์ที่ปรับขนาดได้ รองรับ WebSocket, SSE และ HTTP streaming สำหรับสร้างแชท แดชบอร์ดสด และเกมมัลติเพลเยอร์ มีหน้าแอดมินในตัว
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง Centrifugo
        readme: |
            # Centrifugo

            เซิร์ฟเวอร์ส่งข้อความแบบเรียลไทม์ที่ปรับขนาดได้ รองรับ WebSocket, SSE และ HTTP streaming

            ## เริ่มต้นใช้งาน

            1. **เข้าสู่โดเมน** — เปิดหน้าแอดมินที่ `/admin`
            2. **รหัสผ่านแอดมิน** — ดูได้ที่ **Service > Variables > `CENTRIFUGO_ADMIN_PASSWORD`**
            3. **API key** — ใช้ `CENTRIFUGO_HTTP_API_KEY` สำหรับยืนยันตัวตน API ฝั่งเซิร์ฟเวอร์
            4. **Token secret** — ใช้ `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` สำหรับเซ็น JWT ของไคลเอนต์

            ## สัญญาอนุญาต

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    zh-CN:
        description: |
            Centrifugo 是可扩展的实时消息服务器，支持 WebSocket、SSE 和 HTTP 流式连接，可用于构建聊天应用、实时仪表板、多人游戏等交互功能。内置管理界面。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 Centrifugo 的域名
        readme: |
            # Centrifugo

            可扩展的实时消息服务器，支持 WebSocket、SSE 和 HTTP 流式传输。

            ## 开始使用

            1. **打开域名** — 在 `/admin` 进入管理界面
            2. **管理密码** — 在 **服务 > Variables > `CENTRIFUGO_ADMIN_PASSWORD`** 中查看
            3. **API 密钥** — 使用 `CENTRIFUGO_HTTP_API_KEY` 验证服务器端 API 请求
            4. **Token 密钥** — 使用 `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` 签署客户端 JWT

            ## 授权

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
    zh-TW:
        description: |
            Centrifugo 是可擴展的即時訊息伺服器，支援 WebSocket、SSE 和 HTTP 串流連線，可用於建立聊天應用、即時儀表板、多人遊戲等互動功能。內建管理介面。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 Centrifugo 的網域
        readme: |
            # Centrifugo

            可擴展的即時訊息伺服器，支援 WebSocket、SSE 和 HTTP 串流。

            ## 開始使用

            1. **開啟網域** — 在 `/admin` 進入管理介面
            2. **管理密碼** — 在 **服務 > Variables > `CENTRIFUGO_ADMIN_PASSWORD`** 查看
            3. **API 金鑰** — 使用 `CENTRIFUGO_HTTP_API_KEY` 驗證伺服器端 API 請求
            4. **Token 密鑰** — 使用 `CENTRIFUGO_CLIENT_TOKEN_HMAC_SECRET_KEY` 簽署客戶端 JWT

            ## 授權

            MIT — [GitHub](https://github.com/centrifugal/centrifugo)
