# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Nexus Repository
spec:
    description: |
        A popular open-source repository manager by Sonatype for storing and distributing Maven, npm, Docker, PyPI, and many other package formats. Manage all your software components in one place.
    coverImage: https://avatars.githubusercontent.com/u/44938
    icon: https://avatars.githubusercontent.com/u/44938?s=200&v=4
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access Nexus Repository
    tags:
        - Developer Tools
        - Tool
    readme: |
        # Nexus Repository

        A popular open-source repository manager by Sonatype. Store and distribute Maven, npm, Docker, PyPI, NuGet, Helm, and many other package formats from a single platform.

        ## What You Can Do After Deployment

        1. **Log in** — the initial admin password is stored in `/nexus-data/admin.password` inside the container
        2. **Create repositories** — set up hosted, proxy, or group repositories for your packages
        3. **Configure proxies** — cache packages from Maven Central, npm registry, PyPI, and more
        4. **Upload artifacts** — publish your own packages to hosted repositories
        5. **Manage users** — create accounts and assign roles for access control
        6. **Browse components** — search and explore stored artifacts through the web UI
        7. **Set up cleanup policies** — automatically remove old or unused components

        ## Key Features

        - Support for 20+ package formats (Maven, npm, Docker, PyPI, NuGet, Helm, etc.)
        - Proxy remote repositories to cache dependencies locally
        - Group multiple repositories behind a single URL
        - Built-in search and component browsing
        - Role-based access control
        - REST API for automation
        - Blob store management for flexible storage

        ## First Login

        Retrieve the initial admin password by checking the container logs or accessing the file at `/nexus-data/admin.password`. You will be prompted to change it on first login.

        ## License

        Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    services:
        - name: nexus
          icon: https://avatars.githubusercontent.com/u/44938?s=200&v=4
          template: PREBUILT_V2
          spec:
            source:
                image: sonatype/nexus3:3.90.2-alpine
            ports:
                - id: web
                  port: 8081
                  type: HTTP
            volumes:
                - id: data
                  dir: /nexus-data
            env:
                INSTALL4J_ADD_VM_PARAMS:
                    default: -Xms512m -Xmx1024m -Djava.util.prefs.userRoot=/nexus-data/javaprefs
                TZ:
                    default: UTC
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Gestor de repositorios de codigo abierto de Sonatype. Almacena y distribuye paquetes Maven, npm, Docker, PyPI y muchos otros formatos desde una unica plataforma.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder a Nexus Repository
        readme: |
            # Nexus Repository

            Gestor de repositorios de codigo abierto de Sonatype.

            ## Que puede hacer tras el despliegue

            1. **Iniciar sesion** — la contrasena inicial esta en `/nexus-data/admin.password`
            2. **Crear repositorios** — configurar repositorios hosted, proxy o group
            3. **Configurar proxies** — cachear paquetes de Maven Central, npm, PyPI
            4. **Subir artefactos** — publicar paquetes propios
            5. **Gestionar usuarios** — crear cuentas y asignar roles
            6. **Explorar componentes** — buscar artefactos en la interfaz web
            7. **Politicas de limpieza** — eliminar componentes antiguos automaticamente

            ## Primer inicio de sesion

            Obtenga la contrasena inicial de `/nexus-data/admin.password`. Se le pedira cambiarla en el primer acceso.

            ## Licencia

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    id-ID:
        description: |
            Manajer repositori open-source populer dari Sonatype. Simpan dan distribusikan paket Maven, npm, Docker, PyPI, dan banyak format lainnya dalam satu platform.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses Nexus Repository
        readme: |
            # Nexus Repository

            Manajer repositori open-source populer dari Sonatype.

            ## Yang Dapat Dilakukan Setelah Deploy

            1. **Login** — password admin awal ada di `/nexus-data/admin.password`
            2. **Buat repositori** — konfigurasi repositori hosted, proxy, atau group
            3. **Konfigurasi proxy** — cache paket dari Maven Central, npm, PyPI
            4. **Upload artefak** — publikasikan paket ke repositori hosted
            5. **Kelola pengguna** — buat akun dan tetapkan peran
            6. **Jelajahi komponen** — cari artefak melalui antarmuka web
            7. **Kebijakan pembersihan** — hapus komponen lama secara otomatis

            ## Login Pertama

            Ambil password awal dari `/nexus-data/admin.password`. Anda akan diminta mengubahnya saat login pertama.

            ## Lisensi

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    ja-JP:
        description: |
            Sonatype による人気のオープンソースリポジトリマネージャー。Maven、npm、Docker、PyPI など多くのパッケージ形式の保存と配布が可能。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: Nexus Repository にアクセスするためのドメイン
        readme: |
            # Nexus Repository

            Sonatype によるオープンソースリポジトリマネージャー。

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

            1. **ログイン** — 初期管理者パスワードはコンテナ内 `/nexus-data/admin.password` に保存
            2. **リポジトリ作成** — hosted、proxy、group タイプのリポジトリを設定
            3. **プロキシ設定** — Maven Central、npm registry、PyPI などをキャッシュ
            4. **アーティファクトのアップロード** — hosted リポジトリにパッケージを公開
            5. **ユーザー管理** — アカウント作成とロール割り当て
            6. **コンポーネント閲覧** — Web UI でアーティファクトを検索・閲覧
            7. **クリーンアップポリシー** — 古いコンポーネントを自動削除

            ## 初回ログイン

            コンテナ内の `/nexus-data/admin.password` から初期パスワードを取得。初回ログイン時にパスワード変更を求められます。

            ## ライセンス

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    ko-KR:
        description: |
            Sonatype의 인기 오픈소스 저장소 관리자. Maven, npm, Docker, PyPI 등 다양한 패키지 형식을 단일 플랫폼에서 저장하고 배포할 수 있습니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: Nexus Repository에 접속할 도메인
        readme: |
            # Nexus Repository

            Sonatype의 오픈소스 저장소 관리자.

            ## 배포 후 할 수 있는 것

            1. **로그인** — 초기 관리자 비밀번호는 컨테이너 내 `/nexus-data/admin.password`에 저장
            2. **저장소 생성** — hosted, proxy, group 유형 저장소 설정
            3. **프록시 설정** — Maven Central, npm registry, PyPI 등 캐시
            4. **아티팩트 업로드** — hosted 저장소에 패키지 게시
            5. **사용자 관리** — 계정 생성 및 역할 할당
            6. **컴포넌트 탐색** — 웹 UI에서 아티팩트 검색 및 탐색
            7. **정리 정책** — 오래된 컴포넌트 자동 삭제

            ## 첫 로그인

            컨테이너 내 `/nexus-data/admin.password`에서 초기 비밀번호를 확인하세요. 첫 로그인 시 비밀번호 변경을 요청합니다.

            ## 라이선스

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    th-TH:
        description: |
            ตัวจัดการ Repository โอเพนซอร์สยอดนิยมจาก Sonatype จัดเก็บและแจกจ่ายแพ็คเกจ Maven, npm, Docker, PyPI และรูปแบบอื่นๆ จากแพลตฟอร์มเดียว
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง Nexus Repository
        readme: |
            # Nexus Repository

            ตัวจัดการ Repository โอเพนซอร์สยอดนิยมจาก Sonatype

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

            1. **เข้าสู่ระบบ** — รหัสผ่านเริ่มต้นอยู่ที่ `/nexus-data/admin.password`
            2. **สร้าง Repository** — ตั้งค่า hosted, proxy หรือ group repository
            3. **ตั้งค่า Proxy** — แคชแพ็คเกจจาก Maven Central, npm, PyPI
            4. **อัปโหลด Artifact** — เผยแพร่แพ็คเกจของคุณ
            5. **จัดการผู้ใช้** — สร้างบัญชีและกำหนดบทบาท
            6. **สำรวจคอมโพเนนต์** — ค้นหา artifact ผ่านหน้าเว็บ
            7. **นโยบายทำความสะอาด** — ลบคอมโพเนนต์เก่าอัตโนมัติ

            ## เข้าสู่ระบบครั้งแรก

            ดูรหัสผ่านเริ่มต้นจาก `/nexus-data/admin.password` ระบบจะขอให้เปลี่ยนรหัสผ่านเมื่อเข้าสู่ระบบครั้งแรก

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

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    zh-CN:
        description: |
            Sonatype 出品的热门开源包仓库管理器，可存储并分发 Maven、npm、Docker、PyPI 等多种包格式。在单一平台管理所有软件组件。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 Nexus Repository 的域名
        readme: |
            # Nexus Repository

            由 Sonatype 出品的热门开源包仓库管理器。可在单一平台存储并分发 Maven、npm、Docker、PyPI、NuGet、Helm 等多种包格式。

            ## 部署后可以做什么

            1. **登录** — 初始管理员密码存放在容器内 `/nexus-data/admin.password`
            2. **创建仓库** — 设置 hosted、proxy 或 group 类型的仓库
            3. **设置代理** — 缓存 Maven Central、npm registry、PyPI 等远程包
            4. **上传组件** — 发布自有包到 hosted 仓库
            5. **管理用户** — 创建账号并分配角色
            6. **浏览组件** — 通过网页界面搜索和探索已存储的组件
            7. **设置清理策略** — 自动移除旧的或未使用的组件

            ## 首次登录

            从容器日志或 `/nexus-data/admin.password` 文件获取初始管理员密码。首次登录时会要求更改密码。

            ## 许可证

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
    zh-TW:
        description: |
            Sonatype 出品的熱門開源套件庫管理器，可儲存並分發 Maven、npm、Docker、PyPI 等多種套件格式。在單一平台管理所有軟體元件。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 Nexus Repository 的網域
        readme: |
            # Nexus Repository

            由 Sonatype 出品的熱門開源套件庫管理器。可在單一平台儲存並分發 Maven、npm、Docker、PyPI、NuGet、Helm 等多種套件格式。

            ## 部署後可以做什麼

            1. **登入** — 初始管理員密碼存放在容器內 `/nexus-data/admin.password`
            2. **建立倉庫** — 設定 hosted、proxy 或 group 類型的倉庫
            3. **設定代理** — 快取 Maven Central、npm registry、PyPI 等遠端套件
            4. **上傳套件** — 發布自有套件到 hosted 倉庫
            5. **管理使用者** — 建立帳號並指派角色
            6. **瀏覽元件** — 透過網頁介面搜尋和探索已儲存的套件
            7. **設定清理策略** — 自動移除舊的或未使用的元件

            ## 首次登入

            從容器日誌或 `/nexus-data/admin.password` 檔案取得初始管理員密碼。首次登入時會要求更改密碼。

            ## 授權條款

            Apache-2.0 — [GitHub](https://github.com/sonatype/nexus-public)
