# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: OliveTin
spec:
    description: |
        OliveTin gives safe and simple access to predefined shell commands from a web interface. Define your commands in a YAML config file and run them with a single click — no SSH needed.
    coverImage: https://avatars.githubusercontent.com/u/86763968?v=4
    icon: https://avatars.githubusercontent.com/u/86763968?v=4
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access OliveTin
    tags:
        - Tool
    readme: |
        # OliveTin

        Run predefined shell commands from a clean, simple web interface. Define actions in a YAML configuration file and execute them with one click — no SSH or terminal access required.

        ## How It Works

        OliveTin reads a `config.yaml` file that defines which shell commands are available. Each command appears as a button in the web UI. Users can run commands without needing shell access or technical knowledge.

        ## What You Can Do After Deployment

        1. **Visit your domain** — the web UI loads immediately with your defined actions
        2. **Edit configuration** — modify `/config/config.yaml` to add or change commands
        3. **Define actions** — each action has a title, icon, and shell command
        4. **Use arguments** — actions can prompt users for input before running
        5. **Set access control** — restrict who can run specific actions

        ## Example Configuration

        ```yaml
        actions:
          - title: Ping Google
            shell: ping -c 1 google.com
            icon: ping
          - title: Restart Service
            shell: systemctl restart {{ service }}
            arguments:
              - name: service
                type: ascii_identifier
        ```

        ## Key Features

        - Simple YAML-based configuration
        - Clean, responsive web UI
        - Action arguments with user prompts
        - Execution log and history
        - SSH not required for end users
        - Lightweight Go binary

        ## License

        AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    services:
        - name: olivetin
          icon: https://avatars.githubusercontent.com/u/86763968?v=4
          template: PREBUILT_V2
          spec:
            source:
                image: jamesread/olivetin:3000.11.3
            ports:
                - id: web
                  port: 1337
                  type: HTTP
            volumes:
                - id: olivetin-config
                  dir: /config
            env:
                TZ:
                    default: UTC
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            OliveTin permite ejecutar comandos de shell predefinidos de forma segura y sencilla desde una interfaz web. Define comandos en un archivo YAML y ejecutalos con un clic. Sin SSH.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a OliveTin
        readme: |
            # OliveTin

            Ejecuta comandos de shell predefinidos desde una interfaz web limpia y sencilla. Define acciones en un archivo de configuracion YAML y ejecutalas con un clic.

            ## Como funciona

            OliveTin lee un archivo `config.yaml` que define los comandos disponibles. Cada comando aparece como un boton en la interfaz web.

            ## Que puedes hacer despues del despliegue

            1. **Visita tu dominio** — la interfaz web carga inmediatamente con las acciones definidas
            2. **Edita la configuracion** — modifica `/config/config.yaml` para anadir o cambiar comandos
            3. **Define acciones** — cada accion tiene titulo, icono y comando shell
            4. **Usa argumentos** — las acciones pueden solicitar entrada del usuario antes de ejecutarse
            5. **Control de acceso** — restringe quien puede ejecutar acciones especificas

            ## Caracteristicas principales

            - Configuracion simple en YAML
            - Interfaz web limpia y responsive
            - Argumentos de accion con prompts de usuario
            - Registro e historial de ejecucion
            - Sin necesidad de SSH para usuarios finales
            - Binario Go ligero

            ## Licencia

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    id-ID:
        description: |
            OliveTin memberikan akses aman dan sederhana ke perintah shell yang telah ditentukan melalui antarmuka web. Definisikan perintah dalam file konfigurasi YAML dan jalankan dengan satu klik. Tanpa SSH.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses OliveTin
        readme: |
            # OliveTin

            Jalankan perintah shell yang telah ditentukan dari antarmuka web yang bersih dan sederhana. Definisikan aksi dalam file konfigurasi YAML dan jalankan dengan satu klik.

            ## Cara Kerja

            OliveTin membaca file `config.yaml` yang mendefinisikan perintah shell yang tersedia. Setiap perintah ditampilkan sebagai tombol di antarmuka web.

            ## Apa yang bisa dilakukan setelah deploy

            1. **Buka domain** — antarmuka web langsung memuat aksi yang telah didefinisikan
            2. **Edit konfigurasi** — ubah `/config/config.yaml` untuk menambah atau mengubah perintah
            3. **Definisikan aksi** — setiap aksi memiliki judul, ikon, dan perintah shell
            4. **Gunakan argumen** — aksi dapat meminta input pengguna sebelum dijalankan
            5. **Kontrol akses** — batasi siapa yang dapat menjalankan aksi tertentu

            ## Fitur Utama

            - Konfigurasi YAML sederhana
            - Antarmuka web bersih dan responsif
            - Argumen aksi dengan prompt pengguna
            - Log dan riwayat eksekusi
            - Pengguna akhir tidak perlu SSH
            - Binary Go yang ringan

            ## Lisensi

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    ja-JP:
        description: |
            OliveTin は Web インターフェースから定義済みのシェルコマンドを安全かつ簡単に実行できます。YAML 設定ファイルでコマンドを定義し、ワンクリックで実行。SSH 不要。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: OliveTin にアクセスするためのドメイン
        readme: |
            # OliveTin

            シンプルな Web インターフェースから定義済みのシェルコマンドを実行。YAML 設定ファイルでアクションを定義し、ワンクリックで実行できます。

            ## 仕組み

            OliveTin は `config.yaml` を読み込み、利用可能なシェルコマンドを定義します。各コマンドは Web UI にボタンとして表示され、技術知識なしで実行できます。

            ## デプロイ後にできること

            1. **ドメインにアクセス** — 定義済みのアクションがすぐに表示されます
            2. **設定を編集** — `/config/config.yaml` を変更してコマンドを追加・変更
            3. **アクションを定義** — タイトル、アイコン、シェルコマンドを設定
            4. **引数を使用** — 実行前にユーザーに入力を求めるアクションを作成
            5. **アクセス制御** — 特定のアクションの実行権限を制限

            ## 主な機能

            - シンプルな YAML 設定
            - クリーンでレスポンシブな Web UI
            - アクション引数とユーザープロンプト
            - 実行ログと履歴
            - エンドユーザーは SSH 不要
            - 軽量な Go バイナリ

            ## ライセンス

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    ko-KR:
        description: |
            OliveTin은 웹 인터페이스에서 미리 정의된 셸 명령을 안전하고 간단하게 실행할 수 있습니다. YAML 설정 파일에서 명령을 정의하고 클릭 한 번으로 실행. SSH 불필요.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: OliveTin에 접속할 도메인
        readme: |
            # OliveTin

            깔끔한 웹 인터페이스에서 미리 정의된 셸 명령을 실행합니다. YAML 설정 파일로 액션을 정의하고 클릭 한 번으로 실행할 수 있습니다.

            ## 작동 방식

            OliveTin은 `config.yaml` 파일을 읽어 사용 가능한 셸 명령을 정의합니다. 각 명령은 웹 UI에 버튼으로 표시되며, 기술 지식 없이 실행할 수 있습니다.

            ## 배포 후 할 수 있는 것

            1. **도메인 접속** — 정의된 액션이 즉시 표시됩니다
            2. **설정 편집** — `/config/config.yaml`을 수정하여 명령 추가/변경
            3. **액션 정의** — 제목, 아이콘, 셸 명령 설정
            4. **인수 사용** — 실행 전 사용자 입력을 요청하는 액션 생성
            5. **접근 제어 설정** — 특정 액션의 실행 권한 제한

            ## 주요 기능

            - 간단한 YAML 설정
            - 깔끔하고 반응형인 웹 UI
            - 액션 인수와 사용자 프롬프트
            - 실행 로그 및 기록
            - 최종 사용자 SSH 불필요
            - 경량 Go 바이너리

            ## 라이선스

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    th-TH:
        description: |
            OliveTin ให้การเข้าถึงคำสั่ง Shell ที่กำหนดไว้ล่วงหน้าอย่างปลอดภัยและง่ายดายผ่านเว็บอินเทอร์เฟซ กำหนดคำสั่งในไฟล์ YAML และรันด้วยคลิกเดียว ไม่ต้องใช้ SSH
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง OliveTin
        readme: |
            # OliveTin

            รันคำสั่ง Shell ที่กำหนดไว้ล่วงหน้าจากเว็บอินเทอร์เฟซที่เรียบง่าย กำหนดแอคชันในไฟล์คอนฟิก YAML และรันด้วยคลิกเดียว

            ## วิธีการทำงาน

            OliveTin อ่านไฟล์ `config.yaml` ที่กำหนดคำสั่ง Shell ที่ใช้งานได้ แต่ละคำสั่งจะแสดงเป็นปุ่มในเว็บ UI

            ## สิ่งที่ทำได้หลังจากติดตั้ง

            1. **เข้าสู่โดเมน** — เว็บ UI จะโหลดแอคชันที่กำหนดไว้ทันที
            2. **แก้ไขการตั้งค่า** — แก้ไข `/config/config.yaml` เพื่อเพิ่มหรือเปลี่ยนคำสั่ง
            3. **กำหนดแอคชัน** — แต่ละแอคชันมีชื่อ ไอคอน และคำสั่ง Shell
            4. **ใช้อาร์กิวเมนต์** — แอคชันสามารถขอข้อมูลจากผู้ใช้ก่อนรัน
            5. **ควบคุมการเข้าถึง** — จำกัดสิทธิ์การรันแอคชันเฉพาะ

            ## คุณสมบัติหลัก

            - การตั้งค่า YAML อย่างง่าย
            - เว็บ UI สะอาดและตอบสนอง
            - อาร์กิวเมนต์แอคชันพร้อมพรอมต์ผู้ใช้
            - บันทึกและประวัติการรัน
            - ผู้ใช้ปลายทางไม่ต้องใช้ SSH
            - ไบนารี Go ที่เบา

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

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    zh-CN:
        description: |
            OliveTin 通过网页界面安全、简单地执行预定义的 Shell 命令。在 YAML 配置文件中定义命令，一键即可执行，无需 SSH。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 OliveTin 的域名
        readme: |
            # OliveTin

            通过简洁的网页界面执行预定义的 Shell 命令。在 YAML 配置文件中定义动作，一键执行，无需 SSH 或终端。

            ## 运作方式

            OliveTin 读取 `config.yaml` 配置文件，定义可用的 Shell 命令。每个命令在网页界面中显示为按钮，用户无需技术知识即可执行。

            ## 部署后可以做什么

            1. **打开域名** — 网页界面会立即加载已定义的动作
            2. **编辑配置** — 修改 `/config/config.yaml` 添加或更改命令
            3. **定义动作** — 每个动作包含标题、图标和 Shell 命令
            4. **使用参数** — 动作可在执行前提示用户输入
            5. **设置访问控制** — 限制特定动作的执行权限

            ## 主要功能

            - 简单的 YAML 配置
            - 简洁、响应式的网页界面
            - 动作参数与用户提示
            - 执行日志与历史
            - 终端用户无需 SSH
            - 轻量 Go 二进制文件

            ## 授权

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
    zh-TW:
        description: |
            OliveTin 透過網頁介面安全、簡單地執行預先定義的 Shell 指令。在 YAML 設定檔中定義指令，一鍵即可執行，無需 SSH。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 OliveTin 的網域
        readme: |
            # OliveTin

            透過簡潔的網頁介面執行預先定義的 Shell 指令。在 YAML 設定檔中定義動作，一鍵執行，無需 SSH 或終端機。

            ## 運作方式

            OliveTin 讀取 `config.yaml` 設定檔，定義可用的 Shell 指令。每個指令在網頁介面中顯示為按鈕，使用者無需技術知識即可執行。

            ## 部署後可以做什麼

            1. **開啟網域** — 網頁介面會立即載入已定義的動作
            2. **編輯設定** — 修改 `/config/config.yaml` 新增或變更指令
            3. **定義動作** — 每個動作包含標題、圖示和 Shell 指令
            4. **使用參數** — 動作可在執行前提示使用者輸入
            5. **設定存取控制** — 限制特定動作的執行權限

            ## 主要功能

            - 簡單的 YAML 設定
            - 簡潔、響應式的網頁介面
            - 動作參數與使用者提示
            - 執行紀錄與歷史
            - 終端使用者無需 SSH
            - 輕量 Go 二進位檔

            ## 授權

            AGPL-3.0 — [GitHub](https://github.com/OliveTin/OliveTin)
