# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Maloja
spec:
    description: |
        Maloja is a self-hosted music scrobble database and tracker. It serves as a complete alternative to Last.fm, storing your listening history locally with full control over your data. Compatible with ListenBrainz and Last.fm scrobbling APIs.
    coverImage: https://avatars.githubusercontent.com/u/19945356?v=4
    icon: https://avatars.githubusercontent.com/u/19945356?v=4
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access Maloja
    tags:
        - Media
    readme: |
        # Maloja

        A self-hosted music scrobble database and tracker that gives you full control of your listening data. Drop-in replacement for Last.fm with a compatible scrobbling API.

        ## What You Can Do After Deployment

        1. **Visit your domain** — on first access, you'll set up your admin credentials and API key
        2. **Connect scrobbling clients** — Maloja supports ListenBrainz and Last.fm compatible APIs, so existing scrobblers (Web Scrobbler, Pano Scrobbler, multi-scrobbler, etc.) work out of the box
        3. **Browse your stats** — view top artists, albums, and tracks with charts and listening trends over any time period
        4. **Import existing data** — import your scrobble history from Last.fm, ListenBrainz, Spotify, or other sources via CSV
        5. **Set up rules** — configure artist name rules to fix inconsistencies and merge duplicate entries

        ## Key Features

        - Self-hosted Last.fm alternative — own your listening data
        - Compatible with ListenBrainz and Last.fm scrobbling APIs
        - Detailed statistics with charts for artists, albums, and tracks
        - Manual scrobble entry and bulk CSV import
        - Artist image fetching from multiple sources
        - Customizable scrobble rules for cleaning up metadata
        - File-based storage — no external database required
        - Lightweight Python application

        ## Data Storage

        All scrobble data is stored in the `/data` volume as flat files. No external database is needed. Back up this directory to preserve your entire listening history.

        ## License

        GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    services:
        - name: maloja
          icon: https://avatars.githubusercontent.com/u/19945356?v=4
          template: PREBUILT_V2
          spec:
            source:
                image: krateng/maloja:3.2.4
            ports:
                - id: web
                  port: 42010
                  type: HTTP
            volumes:
                - id: data
                  dir: /data
            env:
                MALOJA_SKIP_SETUP:
                    default: "false"
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Maloja es una base de datos y rastreador de scrobbles musicales autoalojado. Alternativa completa a Last.fm con API compatible con ListenBrainz y Last.fm.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a Maloja
        readme: |
            # Maloja

            Base de datos y rastreador de scrobbles musicales autoalojado. Control total de tus datos de escucha, reemplazo directo de Last.fm.

            ## Qué puedes hacer después del despliegue

            1. **Visita tu dominio** — configura credenciales de admin y clave API en el primer acceso
            2. **Conecta scrobblers** — compatible con APIs de ListenBrainz y Last.fm (Web Scrobbler, Pano Scrobbler, etc.)
            3. **Consulta estadísticas** — artistas, álbumes y canciones más escuchados con gráficos
            4. **Importa datos** — importa historial desde Last.fm, ListenBrainz o Spotify vía CSV
            5. **Configura reglas** — corrige inconsistencias en nombres de artistas

            ## Características

            - Alternativa autoalojada a Last.fm
            - Compatible con APIs de ListenBrainz y Last.fm
            - Estadísticas detalladas con gráficos
            - Entrada manual e importación CSV masiva
            - Almacenamiento en archivos — sin base de datos externa
            - Aplicación Python ligera

            ## Licencia

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    id-ID:
        description: |
            Maloja adalah database dan pelacak scrobble musik self-hosted. Alternatif lengkap untuk Last.fm dengan API yang kompatibel dengan ListenBrainz dan Last.fm.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses Maloja
        readme: |
            # Maloja

            Database dan pelacak scrobble musik self-hosted. Kontrol penuh atas data pendengaran Anda, pengganti langsung Last.fm.

            ## Apa yang bisa dilakukan setelah deploy

            1. **Buka domain** — atur kredensial admin dan API key pada akses pertama
            2. **Hubungkan scrobbler** — kompatibel dengan API ListenBrainz dan Last.fm (Web Scrobbler, Pano Scrobbler, dll.)
            3. **Lihat statistik** — artis, album, dan lagu paling sering didengar dengan grafik
            4. **Impor data** — impor riwayat dari Last.fm, ListenBrainz, atau Spotify via CSV
            5. **Atur aturan** — perbaiki inkonsistensi nama artis

            ## Fitur

            - Alternatif self-hosted untuk Last.fm
            - Kompatibel API ListenBrainz dan Last.fm
            - Statistik detail dengan grafik
            - Input manual dan impor CSV massal
            - Penyimpanan berbasis file — tanpa database eksternal
            - Aplikasi Python ringan

            ## Lisensi

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    ja-JP:
        description: |
            Malojaはセルフホストの音楽スクロブルデータベース・トラッカーです。Last.fmの完全な代替として、リスニング履歴をローカルに保存します。ListenBrainzおよびLast.fm APIに対応。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: Malojaにアクセスするためのドメイン
        readme: |
            # Maloja

            セルフホストの音楽スクロブルデータベース・トラッカー。リスニングデータを完全に管理できるLast.fmの代替ツール。

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

            1. **ドメインにアクセス** — 初回アクセス時に管理者アカウントとAPIキーを設定
            2. **スクロブラーを接続** — ListenBrainzおよびLast.fm APIに対応（Web Scrobbler、Pano Scrobblerなど）
            3. **統計を閲覧** — アーティスト、アルバム、トラックのチャートとトレンド
            4. **データをインポート** — Last.fm、ListenBrainz、SpotifyからCSVで履歴をインポート
            5. **ルールを設定** — アーティスト名の不一致を修正・統合

            ## 主な機能

            - セルフホストのLast.fm代替
            - ListenBrainz・Last.fm スクロブリングAPI互換
            - 詳細な統計とチャート
            - 手動入力とCSV一括インポート
            - ファイルベースのストレージ（外部DB不要）
            - 軽量なPythonアプリケーション

            ## ライセンス

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    ko-KR:
        description: |
            Maloja는 셀프호스팅 음악 스크로블 데이터베이스 및 트래커입니다. Last.fm의 완전한 대안으로 ListenBrainz 및 Last.fm 스크로블링 API와 호환됩니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: Maloja에 접속할 도메인
        readme: |
            # Maloja

            셀프호스팅 음악 스크로블 데이터베이스 및 트래커. 청취 데이터를 완전히 제어할 수 있는 Last.fm 대안.

            ## 배포 후 할 수 있는 것

            1. **도메인 접속** — 처음 접속 시 관리자 계정과 API 키 설정
            2. **스크로블러 연결** — ListenBrainz 및 Last.fm API 호환 (Web Scrobbler, Pano Scrobbler 등)
            3. **통계 확인** — 가장 많이 들은 아티스트, 앨범, 트랙의 차트와 트렌드
            4. **데이터 가져오기** — Last.fm, ListenBrainz, Spotify에서 CSV로 기록 가져오기
            5. **규칙 설정** — 아티스트 이름 불일치 수정 및 중복 병합

            ## 주요 기능

            - 셀프호스팅 Last.fm 대안
            - ListenBrainz 및 Last.fm 스크로블링 API 호환
            - 상세 통계 및 차트
            - 수동 입력 및 CSV 대량 가져오기
            - 파일 기반 저장 — 외부 데이터베이스 불필요
            - 경량 Python 애플리케이션

            ## 라이선스

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    th-TH:
        description: |
            Maloja คือฐานข้อมูลและตัวติดตาม scrobble เพลงแบบ self-hosted ทางเลือกที่สมบูรณ์แทน Last.fm รองรับ API ของ ListenBrainz และ Last.fm
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง Maloja
        readme: |
            # Maloja

            ฐานข้อมูลและตัวติดตาม scrobble เพลงแบบ self-hosted ควบคุมข้อมูลการฟังได้อย่างสมบูรณ์ ใช้แทน Last.fm ได้โดยตรง

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

            1. **เข้าสู่โดเมน** — ตั้งค่าบัญชีผู้ดูแลและ API key ในการเข้าถึงครั้งแรก
            2. **เชื่อมต่อ scrobbler** — รองรับ API ของ ListenBrainz และ Last.fm (Web Scrobbler, Pano Scrobbler ฯลฯ)
            3. **ดูสถิติ** — ศิลปิน อัลบั้ม และเพลงที่ฟังบ่อยที่สุดพร้อมกราฟ
            4. **นำเข้าข้อมูล** — นำเข้าประวัติจาก Last.fm, ListenBrainz หรือ Spotify ผ่าน CSV
            5. **ตั้งกฎ** — แก้ไขชื่อศิลปินที่ไม่สอดคล้องกัน

            ## ฟีเจอร์หลัก

            - ทางเลือก self-hosted แทน Last.fm
            - รองรับ API scrobbling ของ ListenBrainz และ Last.fm
            - สถิติละเอียดพร้อมกราฟ
            - ป้อนข้อมูลด้วยตนเองและนำเข้า CSV จำนวนมาก
            - จัดเก็บแบบไฟล์ — ไม่ต้องใช้ฐานข้อมูลภายนอก
            - แอปพลิเคชัน Python น้ำหนักเบา

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

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    zh-CN:
        description: |
            Maloja 是自托管的音乐播放记录数据库与追踪器，作为 Last.fm 的完整替代方案。兼容 ListenBrainz 和 Last.fm 的 scrobbling API。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 Maloja 的域名
        readme: |
            # Maloja

            自托管音乐播放记录数据库与追踪器，完全掌控你的听歌数据。可直接替代 Last.fm，兼容其 scrobbling API。

            ## 部署后可以做什么

            1. **打开域名** — 首次访问时设置管理员账号和 API 密钥
            2. **连接 scrobbling 客户端** — 支持 ListenBrainz 和 Last.fm API，现有 scrobbler 可直接使用
            3. **浏览统计** — 查看最常听的艺人、专辑、曲目及趋势图表
            4. **导入数据** — 从 Last.fm、ListenBrainz、Spotify 等以 CSV 导入历史记录
            5. **设置规则** — 配置艺人名称规则，修正不一致或合并重复项

            ## 主要功能

            - 自托管 Last.fm 替代方案
            - 兼容 ListenBrainz 和 Last.fm scrobbling API
            - 详细统计与图表
            - 手动记录与批量 CSV 导入
            - 文件存储 — 无需外部数据库
            - 轻量级 Python 应用

            ## 授权

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
    zh-TW:
        description: |
            Maloja 是自架的音樂播放記錄資料庫與追蹤器，作為 Last.fm 的完整替代方案，將聆聽歷史完整保存在自己的伺服器上。相容 ListenBrainz 和 Last.fm 的 scrobbling API。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 Maloja 的網域
        readme: |
            # Maloja

            自架的音樂播放記錄資料庫與追蹤器，讓你完全掌控聆聽資料。可直接替代 Last.fm，相容其 scrobbling API。

            ## 部署後可以做什麼

            1. **開啟網域** — 首次存取時設定管理員帳密和 API 金鑰
            2. **連接 scrobbling 客戶端** — 支援 ListenBrainz 和 Last.fm API，現有的 scrobbler（Web Scrobbler、Pano Scrobbler 等）可直接使用
            3. **瀏覽統計數據** — 查看最常聽的藝人、專輯、曲目，以及不同時間範圍的趨勢圖表
            4. **匯入現有資料** — 從 Last.fm、ListenBrainz、Spotify 或其他來源以 CSV 匯入歷史記錄
            5. **設定規則** — 配置藝人名稱規則，修正不一致或合併重複項目

            ## 主要功能

            - 自架 Last.fm 替代方案 — 完全掌控聆聽資料
            - 相容 ListenBrainz 和 Last.fm scrobbling API
            - 藝人、專輯、曲目的詳細統計與圖表
            - 手動輸入記錄與批量 CSV 匯入
            - 檔案型儲存 — 無需外部資料庫
            - 輕量級 Python 應用

            ## 授權

            GPL-3.0 — [GitHub](https://github.com/krateng/maloja)
