# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: transfer.sh
spec:
    description: |
        transfer.sh is a self-hosted file sharing service. Upload files from the command line with a single curl command, or use the built-in web interface. Supports max upload size limits, download count limits, and automatic expiration.
    coverImage: https://avatars.githubusercontent.com/u/5765967
    icon: https://avatars.githubusercontent.com/u/5765967
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access transfer.sh
    tags:
        - Tool
        - Productivity
    readme: |
        # transfer.sh

        Self-hosted file sharing from the command line. Upload any file with a single curl command and get a shareable download link.

        ## What You Can Do After Deployment

        1. **Upload via CLI** — run `curl --upload-file ./myfile.txt https://your-domain/myfile.txt`
        2. **Upload via web** — open your domain in a browser and drag-and-drop files
        3. **Set expiration** — files auto-expire after a configurable period
        4. **Limit downloads** — restrict how many times a file can be downloaded
        5. **Share links** — every upload returns a direct download URL

        ## Key Features

        - Upload files from terminal with curl, wget, or any HTTP client
        - Built-in web upload interface
        - Configurable max upload size
        - Download count limits per file
        - Automatic file expiration
        - Virus scanning support
        - Encryption support
        - S3-compatible storage backend option

        ## License

        MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    services:
        - name: transfer-sh
          icon: https://avatars.githubusercontent.com/u/5765967
          template: PREBUILT_V2
          spec:
            source:
                image: dutchcoders/transfer.sh:v1.6.1
            ports:
                - id: web
                  port: 8080
                  type: HTTP
            volumes:
                - id: data
                  dir: /data
            env:
                BASEDIR:
                    default: /data
                LISTENER:
                    default: :8080
                MAX_UPLOAD_SIZE:
                    default: "5242880000"
                PURGE_DAYS:
                    default: "14"
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            transfer.sh es un servicio autoalojado para compartir archivos. Sube archivos desde la terminal con un solo comando curl, o usa la interfaz web. Soporta límites de tamaño, conteo de descargas y expiración automática.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a transfer.sh
        readme: |
            # transfer.sh

            Servicio autoalojado para compartir archivos desde la terminal. Sube cualquier archivo con un solo comando curl y obtén un enlace de descarga.

            ## Qué puedes hacer después del despliegue

            1. **Subir por CLI** — ejecuta `curl --upload-file ./myfile.txt https://your-domain/myfile.txt`
            2. **Subir por web** — abre tu dominio y arrastra archivos
            3. **Configurar expiración** — los archivos se eliminan automáticamente
            4. **Limitar descargas** — restringe cuántas veces se puede descargar un archivo
            5. **Compartir enlaces** — cada subida devuelve una URL de descarga directa

            ## Licencia

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    id-ID:
        description: |
            transfer.sh adalah layanan berbagi file self-hosted. Upload file dari command line dengan satu perintah curl, atau gunakan antarmuka web bawaan. Mendukung batas ukuran, batas unduhan, dan kedaluwarsa otomatis.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses transfer.sh
        readme: |
            # transfer.sh

            Layanan berbagi file self-hosted dari command line. Upload file apa pun dengan satu perintah curl dan dapatkan tautan unduhan.

            ## Apa yang bisa dilakukan setelah deploy

            1. **Upload via CLI** — jalankan `curl --upload-file ./myfile.txt https://your-domain/myfile.txt`
            2. **Upload via web** — buka domain di browser dan seret file
            3. **Atur kedaluwarsa** — file otomatis terhapus setelah waktu tertentu
            4. **Batasi unduhan** — batasi berapa kali file bisa diunduh
            5. **Bagikan tautan** — setiap upload menghasilkan URL unduhan langsung

            ## Lisensi

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    ja-JP:
        description: |
            transfer.sh はセルフホスト型のファイル共有サービスです。CLIからcurl一行でファイルをアップロード、またはWeb UIを使用。アップロードサイズ制限、ダウンロード回数制限、自動期限切れに対応。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: transfer.sh にアクセスするためのドメイン
        readme: |
            # transfer.sh

            セルフホスト型のCLIファイル共有サービス。curlコマンド一つでファイルをアップロードし、共有リンクを取得。

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

            1. **CLIアップロード** — `curl --upload-file ./myfile.txt https://your-domain/myfile.txt` を実行
            2. **Webアップロード** — ブラウザでドメインを開き、ドラッグ＆ドロップ
            3. **期限設定** — ファイルは設定した期間後に自動削除
            4. **ダウンロード制限** — ファイルごとのダウンロード回数を制限
            5. **リンク共有** — アップロードごとに直接ダウンロードURLを取得

            ## ライセンス

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    ko-KR:
        description: |
            transfer.sh는 셀프 호스팅 파일 공유 서비스입니다. CLI에서 curl 한 줄로 파일을 업로드하거나 내장 웹 인터페이스를 사용합니다. 업로드 크기 제한, 다운로드 횟수 제한, 자동 만료를 지원합니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: transfer.sh에 접속할 도메인
        readme: |
            # transfer.sh

            셀프 호스팅 CLI 파일 공유 서비스. curl 명령어 하나로 파일을 업로드하고 공유 링크를 받으세요.

            ## 배포 후 할 수 있는 것

            1. **CLI 업로드** — `curl --upload-file ./myfile.txt https://your-domain/myfile.txt` 실행
            2. **웹 업로드** — 브라우저에서 도메인을 열고 파일을 드래그 앤 드롭
            3. **만료 설정** — 파일이 설정된 기간 후 자동 삭제
            4. **다운로드 제한** — 파일당 다운로드 횟수 제한
            5. **링크 공유** — 업로드할 때마다 직접 다운로드 URL 제공

            ## 라이선스

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    th-TH:
        description: |
            transfer.sh เป็นบริการแชร์ไฟล์แบบ self-hosted อัปโหลดไฟล์จาก command line ด้วยคำสั่ง curl เดียว หรือใช้หน้าเว็บในตัว รองรับจำกัดขนาด จำกัดดาวน์โหลด และหมดอายุอัตโนมัติ
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง transfer.sh
        readme: |
            # transfer.sh

            บริการแชร์ไฟล์แบบ self-hosted จาก command line อัปโหลดไฟล์ใดก็ได้ด้วยคำสั่ง curl เดียวแล้วรับลิงก์ดาวน์โหลด

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

            1. **อัปโหลดผ่าน CLI** — รัน `curl --upload-file ./myfile.txt https://your-domain/myfile.txt`
            2. **อัปโหลดผ่านเว็บ** — เปิดโดเมนในเบราว์เซอร์แล้วลากไฟล์
            3. **ตั้งเวลาหมดอายุ** — ไฟล์ถูกลบอัตโนมัติหลังเวลาที่กำหนด
            4. **จำกัดดาวน์โหลด** — จำกัดจำนวนครั้งที่ดาวน์โหลดได้
            5. **แชร์ลิงก์** — ทุกการอัปโหลดจะได้ URL ดาวน์โหลดตรง

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

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    zh-CN:
        description: |
            transfer.sh 是自托管的文件分享服务。从命令行用一行 curl 命令上传文件，或通过内置网页界面操作。支持上传大小限制、下载次数限制及自动过期。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 transfer.sh 的域名
        readme: |
            # transfer.sh

            自托管的命令行文件分享服务。用一行 curl 命令上传任何文件，获取可分享的下载链接。

            ## 部署后可以做什么

            1. **CLI 上传** — 运行 `curl --upload-file ./myfile.txt https://your-domain/myfile.txt`
            2. **网页上传** — 在浏览器打开域名，拖放文件即可
            3. **设置过期时间** — 文件在可配置的时间后自动删除
            4. **限制下载次数** — 限制每个文件的下载次数
            5. **分享链接** — 每次上传都会返回直接下载 URL

            ## 授权

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
    zh-TW:
        description: |
            transfer.sh 是自架的檔案分享服務。從命令列用一行 curl 指令上傳檔案，或透過內建網頁介面操作。支援上傳大小限制、下載次數限制及自動過期。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 transfer.sh 的網域
        readme: |
            # transfer.sh

            自架的命令列檔案分享服務。用一行 curl 指令上傳任何檔案，取得可分享的下載連結。

            ## 部署後可以做什麼

            1. **CLI 上傳** — 執行 `curl --upload-file ./myfile.txt https://your-domain/myfile.txt`
            2. **網頁上傳** — 在瀏覽器開啟網域，拖放檔案即可
            3. **設定過期時間** — 檔案在可配置的時間後自動刪除
            4. **限制下載次數** — 限制每個檔案的下載次數
            5. **分享連結** — 每次上傳都會回傳直接下載 URL

            ## 授權

            MIT — [GitHub](https://github.com/dutchcoders/transfer.sh)
