# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: QuickShare
spec:
    description: |
        QuickShare is a lightweight, self-hosted file sharing application built with Go and SQLite. It supports resumable uploads and downloads, per-user storage quotas, speed limiting, fuzzy search, and directory sharing with anonymous access and QR codes.
    coverImage: https://raw.githubusercontent.com/ihexxa/quickshare/main/docs/imgs/logo.svg
    icon: https://raw.githubusercontent.com/ihexxa/quickshare/main/docs/imgs/logo.svg
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access QuickShare
        - key: ADMIN_PASSWORD
          type: STRING
          name: Admin Password
          description: Password for the default admin account (username is admin)
    tags:
        - Tool
    readme: |
        # QuickShare

        QuickShare is a lightweight, self-hosted file sharing service built with Go and backed by SQLite for zero-dependency deployment.

        ## Features

        - **Resumable Transfers** - Upload and download files with resume support for large files
        - **Multi-User** - Role-based access control with admin and user roles
        - **Per-User Quotas** - Configure storage limits and speed caps per user
        - **Fuzzy Search** - Find files and folders quickly across your storage
        - **Directory Sharing** - Share folders publicly, including anonymous access
        - **QR Code Access** - Generate QR codes for easy mobile file access
        - **Cross-Platform** - Works on Linux, Mac, and Windows
        - **Adaptive UI** - Responsive interface with i18n and wallpaper customization

        ## First-Time Setup

        After deployment, log in with the admin account. The default username is `admin` and the password is set during deployment.

        ## What You Can Do After Deployment

        1. **Open your domain** to access QuickShare
        2. **Log in** with username `admin` and the password you set
        3. **Upload files** via drag-and-drop or the upload button
        4. **Create folders** to organize your files
        5. **Share directories** with public links or QR codes
        6. **Manage users** and set per-user storage quotas and speed limits

        ## Persistent Data

        All files and the SQLite database are stored in `/quickshare/root` and persisted via a Zeabur volume.

        ## License

        LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    services:
        - name: quickshare
          icon: https://raw.githubusercontent.com/ihexxa/quickshare/main/docs/imgs/logo.svg
          template: PREBUILT_V2
          spec:
            source:
                image: hexxa/quickshare:v0.11.4
            ports:
                - id: web
                  port: 8686
                  type: HTTP
            volumes:
                - id: data
                  dir: /quickshare/root
            env:
                DEFAULTADMIN:
                    default: admin
                DEFAULTADMINPWD:
                    default: ${ADMIN_PASSWORD}
                    expose: true
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            QuickShare es una aplicacion ligera y autoalojada para compartir archivos construida con Go y SQLite. Soporta transferencias reanudables, cuotas de almacenamiento por usuario, limites de velocidad, busqueda difusa y uso compartido de directorios con acceso anonimo y codigos QR.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a QuickShare
            - key: ADMIN_PASSWORD
              type: STRING
              name: Contrasena de administrador
              description: Contrasena para la cuenta de administrador (usuario es admin)
        readme: |
            # QuickShare

            QuickShare es un servicio ligero y autoalojado para compartir archivos construido con Go y respaldado por SQLite.

            ## Configuracion inicial

            Despues del despliegue, inicie sesion con la cuenta de administrador. El nombre de usuario es `admin` y la contrasena se establece durante el despliegue.

            ## Que puedes hacer despues del despliegue

            1. Abra su dominio para acceder a QuickShare
            2. Inicie sesion con el usuario `admin` y la contrasena establecida
            3. Suba archivos mediante arrastrar y soltar o el boton de carga
            4. Cree carpetas para organizar sus archivos
            5. Comparta directorios con enlaces publicos o codigos QR
            6. Gestione usuarios y establezca cuotas de almacenamiento y limites de velocidad

            ## Licencia

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    id-ID:
        description: |
            QuickShare adalah aplikasi berbagi file self-hosted yang ringan, dibangun dengan Go dan SQLite. Mendukung transfer yang dapat dilanjutkan, kuota penyimpanan per pengguna, pembatasan kecepatan, pencarian fuzzy, dan berbagi direktori dengan akses anonim dan kode QR.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses QuickShare
            - key: ADMIN_PASSWORD
              type: STRING
              name: Kata Sandi Admin
              description: Kata sandi untuk akun admin default (username adalah admin)
        readme: |
            # QuickShare

            QuickShare adalah layanan berbagi file self-hosted ringan yang dibangun dengan Go dan didukung SQLite.

            ## Pengaturan Awal

            Setelah deploy, login dengan akun admin. Username default adalah `admin` dan kata sandi diatur saat deploy.

            ## Yang Dapat Dilakukan Setelah Deploy

            1. Buka domain Anda untuk mengakses QuickShare
            2. Login dengan username `admin` dan kata sandi yang telah diatur
            3. Unggah file melalui drag-and-drop atau tombol unggah
            4. Buat folder untuk mengorganisasi file Anda
            5. Bagikan direktori dengan tautan publik atau kode QR
            6. Kelola pengguna dan atur kuota penyimpanan dan batas kecepatan

            ## Lisensi

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    ja-JP:
        description: |
            QuickShare は Go と SQLite で構築された軽量なセルフホスト型ファイル共有アプリケーションです。レジューム対応の転送、ユーザー毎のストレージ制限、速度制限、ファジー検索、匿名アクセスと QR コードによるディレクトリ共有に対応しています。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: QuickShare にアクセスするためのドメイン
            - key: ADMIN_PASSWORD
              type: STRING
              name: 管理者パスワード
              description: デフォルト管理者アカウントのパスワード（ユーザー名は admin）
        readme: |
            # QuickShare

            QuickShare は Go で構築され SQLite をバックエンドとする軽量なセルフホスト型ファイル共有サービスです。

            ## 初回セットアップ

            デプロイ後、管理者アカウントでログインします。デフォルトのユーザー名は `admin`、パスワードはデプロイ時に設定したものです。

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

            1. ドメインを開いて QuickShare にアクセス
            2. `admin` ユーザー名と設定したパスワードでログイン
            3. ドラッグ＆ドロップやアップロードボタンでファイルをアップロード
            4. フォルダーを作成してファイルを整理
            5. 公開リンクや QR コードでディレクトリを共有
            6. ユーザーを管理し、ストレージ制限や速度制限を設定

            ## ライセンス

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    ko-KR:
        description: |
            QuickShare는 Go와 SQLite로 구축된 경량 셀프 호스팅 파일 공유 애플리케이션입니다. 이어받기 전송, 사용자별 저장 할당량, 속도 제한, 퍼지 검색, 익명 접근 및 QR 코드를 통한 디렉토리 공유를 지원합니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: QuickShare에 접속할 도메인
            - key: ADMIN_PASSWORD
              type: STRING
              name: 관리자 비밀번호
              description: 기본 관리자 계정의 비밀번호 (사용자 이름은 admin)
        readme: |
            # QuickShare

            QuickShare는 Go로 구축되고 SQLite를 백엔드로 사용하는 경량 셀프 호스팅 파일 공유 서비스입니다.

            ## 초기 설정

            배포 후 관리자 계정으로 로그인합니다. 기본 사용자 이름은 `admin`이며, 비밀번호는 배포 시 설정한 것입니다.

            ## 배포 후 할 수 있는 것

            1. 도메인을 열어 QuickShare에 접속
            2. `admin` 사용자 이름과 설정한 비밀번호로 로그인
            3. 드래그 앤 드롭 또는 업로드 버튼으로 파일 업로드
            4. 폴더를 생성하여 파일 정리
            5. 공개 링크 또는 QR 코드로 디렉토리 공유
            6. 사용자를 관리하고 저장 할당량 및 속도 제한 설정

            ## 라이선스

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    th-TH:
        description: |
            QuickShare เป็นแอปพลิเคชันแชร์ไฟล์แบบ self-hosted ที่เบาและรวดเร็ว สร้างด้วย Go และ SQLite รองรับการถ่ายโอนแบบต่อเนื่อง โควต้าพื้นที่เก็บข้อมูลต่อผู้ใช้ การจำกัดความเร็ว การค้นหาแบบ fuzzy และการแชร์ไดเรกทอรีพร้อมการเข้าถึงแบบไม่ระบุตัวตนและ QR โค้ด
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง QuickShare
            - key: ADMIN_PASSWORD
              type: STRING
              name: รหัสผ่านผู้ดูแลระบบ
              description: รหัสผ่านสำหรับบัญชีผู้ดูแลเริ่มต้น (ชื่อผู้ใช้คือ admin)
        readme: |
            # QuickShare

            QuickShare เป็นบริการแชร์ไฟล์แบบ self-hosted ที่เบาและรวดเร็ว สร้างด้วย Go และ SQLite

            ## การตั้งค่าครั้งแรก

            หลังจาก deploy แล้ว ล็อกอินด้วยบัญชีผู้ดูแลระบบ ชื่อผู้ใช้เริ่มต้นคือ `admin` และรหัสผ่านถูกตั้งค่าระหว่าง deploy

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

            1. เปิดโดเมนของคุณเพื่อเข้าถึง QuickShare
            2. ล็อกอินด้วยชื่อผู้ใช้ `admin` และรหัสผ่านที่ตั้งค่าไว้
            3. อัปโหลดไฟล์ผ่านการลากวางหรือปุ่มอัปโหลด
            4. สร้างโฟลเดอร์เพื่อจัดระเบียบไฟล์ของคุณ
            5. แชร์ไดเรกทอรีด้วยลิงก์สาธารณะหรือ QR โค้ด
            6. จัดการผู้ใช้และตั้งค่าโควต้าพื้นที่เก็บข้อมูลและการจำกัดความเร็ว

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

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    zh-CN:
        description: |
            QuickShare 是一款使用 Go 和 SQLite 构建的轻量级自托管文件分享应用。支持断点续传、每用户存储配额、速度限制、模糊搜索，以及匿名访问和二维码的目录分享功能。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 QuickShare 的域名
            - key: ADMIN_PASSWORD
              type: STRING
              name: 管理员密码
              description: 默认管理员账号的密码（用户名为 admin）
        readme: |
            # QuickShare

            QuickShare 是一款轻量级的自托管文件分享服务，使用 Go 构建并以 SQLite 作为后端。

            ## 首次设置

            部署后使用管理员账号登录。默认用户名为 `admin`，密码为部署时设置的密码。

            ## 部署后可以做什么

            1. 打开您的域名访问 QuickShare
            2. 使用 `admin` 账号和设置的密码登录
            3. 通过拖放或上传按钮上传文件
            4. 创建文件夹整理您的文件
            5. 使用公开链接或二维码分享目录
            6. 管理用户并设置存储配额和速度限制

            ## 许可

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
    zh-TW:
        description: |
            QuickShare 是一款使用 Go 和 SQLite 建構的輕量級自架檔案分享應用程式。支援斷點續傳、每使用者儲存配額、速度限制、模糊搜尋，以及匿名存取和 QR 碼的目錄分享功能。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 QuickShare 的網域
            - key: ADMIN_PASSWORD
              type: STRING
              name: 管理員密碼
              description: 預設管理員帳號的密碼（使用者名稱為 admin）
        readme: |
            # QuickShare

            QuickShare 是一款輕量級的自架檔案分享服務，使用 Go 建構並以 SQLite 作為後端。

            ## 首次設定

            部署後使用管理員帳號登入。預設使用者名稱為 `admin`，密碼為部署時設定的密碼。

            ## 部署後可以做什麼

            1. 開啟您的網域存取 QuickShare
            2. 使用 `admin` 帳號和設定的密碼登入
            3. 透過拖放或上傳按鈕上傳檔案
            4. 建立資料夾整理您的檔案
            5. 使用公開連結或 QR 碼分享目錄
            6. 管理使用者並設定儲存配額和速度限制

            ## 授權

            LGPL-3.0 — [GitHub](https://github.com/ihexxa/quickshare)
