# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: miniserve
spec:
    description: |
        miniserve is a tiny, self-contained file server with a clean web UI. Upload and download files through the browser with optional authentication. No configuration files needed.
    coverImage: https://avatars.githubusercontent.com/u/1664078
    icon: https://avatars.githubusercontent.com/u/1664078
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access miniserve
    tags:
        - Tool
        - Storage
    readme: |
        # miniserve

        A tiny, self-contained file server with a clean web UI. Upload and download files through the browser with optional password protection. Zero configuration needed.

        ## Getting Started

        1. **Visit your domain** — the file browser opens automatically
        2. **Upload files** — drag and drop or click the upload button
        3. **Authentication** — password is in **Service > Variables > `MINISERVE_AUTH`** (format: `user:password`)
        4. **Served directory** — files are served from `/data` inside the container

        ## Key Features

        - Clean, responsive web UI with dark mode
        - File upload via drag-and-drop
        - Directory listing with sorting
        - Optional username/password authentication
        - QR code generation for easy mobile access
        - Single binary, no dependencies

        ## License

        MIT — [GitHub](https://github.com/svenstaro/miniserve)
    services:
        - name: miniserve
          icon: https://avatars.githubusercontent.com/u/1664078
          template: PREBUILT_V2
          spec:
            source:
                image: svenstaro/miniserve:0.33.0
                command:
                    - /miniserve
                    - --port=8080
                    - --upload-files
                    - --mkdir
                    - --auth=admin:${MINISERVE_PASSWORD}
                    - /data
            ports:
                - id: web
                  port: 8080
                  type: HTTP
            volumes:
                - id: data
                  dir: /data
            env:
                MINISERVE_PASSWORD:
                    default: ${PASSWORD}
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            miniserve es un servidor de archivos ligero con una interfaz web limpia. Sube y descarga archivos desde el navegador con proteccion por contrasena opcional.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a miniserve
        readme: |
            # miniserve

            Servidor de archivos ligero para subir y descargar archivos desde el navegador.

            ## Primeros pasos

            1. **Visita tu dominio** — el explorador de archivos se abre automaticamente
            2. **Subir archivos** — arrastra y suelta o haz clic en el boton de carga
            3. **Autenticacion** — usuario `admin`, contrasena en **Servicio > Variables > `MINISERVE_PASSWORD`**
            4. **Directorio** — los archivos se sirven desde `/data` en el contenedor

            ## Licencia

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
    id-ID:
        description: |
            miniserve adalah server file ringan dengan antarmuka web yang bersih. Unggah dan unduh file melalui browser dengan perlindungan kata sandi opsional.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses miniserve
        readme: |
            # miniserve

            Server file ringan untuk mengunggah dan mengunduh file melalui browser.

            ## Memulai

            1. **Buka domain** — penjelajah file terbuka secara otomatis
            2. **Unggah file** — seret dan lepas atau klik tombol unggah
            3. **Autentikasi** — username `admin`, password di **Service > Variables > `MINISERVE_PASSWORD`**
            4. **Direktori** — file disajikan dari `/data` dalam kontainer

            ## Lisensi

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
    ja-JP:
        description: |
            miniserve は軽量なファイルサーバーで、クリーンなWeb UIを備えています。ブラウザからファイルのアップロードとダウンロードが可能。パスワード保護対応。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: miniserve にアクセスするためのドメイン
        readme: |
            # miniserve

            ブラウザからファイルをアップロード・ダウンロードできる軽量ファイルサーバー。

            ## はじめに

            1. **ドメインにアクセス** — ファイルブラウザが自動的に開く
            2. **ファイルアップロード** — ドラッグ＆ドロップまたはアップロードボタン
            3. **認証** — ユーザー名 `admin`、パスワードは **サービス > Variables > `MINISERVE_PASSWORD`** で確認
            4. **ファイルディレクトリ** — コンテナ内の `/data` からファイルを提供

            ## ライセンス

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
    ko-KR:
        description: |
            miniserve는 깔끔한 웹 UI를 갖춘 경량 파일 서버입니다. 브라우저를 통해 파일을 업로드하고 다운로드할 수 있으며 비밀번호 보호를 지원합니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: miniserve에 접속할 도메인
        readme: |
            # miniserve

            브라우저에서 파일을 업로드하고 다운로드할 수 있는 경량 파일 서버.

            ## 시작하기

            1. **도메인 접속** — 파일 브라우저가 자동으로 열림
            2. **파일 업로드** — 드래그 앤 드롭 또는 업로드 버튼 클릭
            3. **인증** — 사용자명 `admin`, 비밀번호는 **서비스 > Variables > `MINISERVE_PASSWORD`** 에서 확인
            4. **파일 디렉토리** — 컨테이너 내 `/data`에서 파일 제공

            ## 라이선스

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
    th-TH:
        description: |
            miniserve เป็นเซิร์ฟเวอร์ไฟล์ขนาดเล็กพร้อมเว็บ UI ที่สะอาด อัปโหลดและดาวน์โหลดไฟล์ผ่านเบราว์เซอร์ รองรับการป้องกันด้วยรหัสผ่าน
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง miniserve
        readme: |
            # miniserve

            เซิร์ฟเวอร์ไฟล์ขนาดเล็กสำหรับอัปโหลดและดาวน์โหลดไฟล์ผ่านเบราว์เซอร์

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

            1. **เข้าสู่โดเมน** — ตัวจัดการไฟล์เปิดอัตโนมัติ
            2. **อัปโหลดไฟล์** — ลากวางหรือคลิกปุ่มอัปโหลด
            3. **การยืนยันตัวตน** — ชื่อผู้ใช้ `admin` รหัสผ่านดูที่ **Service > Variables > `MINISERVE_PASSWORD`**
            4. **ไดเรกทอรี** — ไฟล์ให้บริการจาก `/data` ในคอนเทนเนอร์

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

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
    zh-CN:
        description: |
            miniserve 是轻量级文件服务器，附带简洁的网页界面。通过浏览器上传和下载文件，支持密码保护，无需配置文件。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 miniserve 的域名
        readme: |
            # miniserve

            轻量级文件服务器，通过浏览器上传和下载文件。

            ## 开始使用

            1. **打开域名** — 文件浏览器自动打开
            2. **上传文件** — 拖放或点击上传按钮
            3. **认证** — 账号 `admin`，密码在 **服务 > Variables > `MINISERVE_PASSWORD`** 中查看
            4. **文件目录** — 文件存放在容器内的 `/data`

            ## 授权

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
    zh-TW:
        description: |
            miniserve 是輕量級檔案伺服器，附帶簡潔的網頁介面。透過瀏覽器上傳和下載檔案，支援密碼保護，無需設定檔。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 miniserve 的網域
        readme: |
            # miniserve

            輕量級檔案伺服器，透過瀏覽器上傳和下載檔案。

            ## 開始使用

            1. **開啟網域** — 檔案瀏覽器自動開啟
            2. **上傳檔案** — 拖放或點選上傳按鈕
            3. **認證** — 帳號 `admin`，密碼在 **服務 > Variables > `MINISERVE_PASSWORD`** 查看
            4. **檔案目錄** — 檔案存放在容器內的 `/data`

            ## 授權

            MIT — [GitHub](https://github.com/svenstaro/miniserve)
