# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Athens
spec:
    description: |
        Athens is an open-source Go module proxy server. Cache and serve Go modules from a single self-hosted instance with a web UI for browsing cached packages. Supports disk storage out of the box.
    coverImage: https://camo.githubusercontent.com/a6fccf041e97f1fdc85e4c49d2b3faa0e6dce6d1d6ddc20c19a07e92c09f7e42/68747470733a2f2f696d672e676f6d6f64732e696f2f696d672f617468656e732d62616e6e65722e706e67
    icon: https://avatars.githubusercontent.com/u/39633755
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access Athens Go module proxy
    tags:
        - Tool
        - Developer Tools
    readme: |
        # Athens

        An open-source Go module proxy server. Host your own Go module cache to speed up builds and ensure module availability, even when upstream sources are down.

        ## Getting Started

        After deployment, configure your Go environment to use this proxy:

        ```bash
        export GOPROXY=https://your-domain.zeabur.app
        ```

        Then run `go mod download` or `go build` as usual. Athens will cache modules on first fetch.

        ## What You Can Do After Deployment

        1. **Set GOPROXY** -- point your Go toolchain to your Athens domain
        2. **Browse cached modules** -- visit your domain in a browser to see the catalog
        3. **Speed up CI builds** -- share the proxy across your team for faster dependency resolution
        4. **Ensure availability** -- cached modules remain available even if upstream goes down
        5. **Control access** -- use filter files to allow or block specific modules

        ## Key Features

        - Full Go module proxy protocol support
        - Built-in web UI for browsing cached modules
        - Disk-based storage (no external database required)
        - Filter file support for access control
        - Enterprise-ready with multiple storage backends

        ## License

        MIT -- [GitHub](https://github.com/gomods/athens)
    services:
        - name: athens
          icon: https://avatars.githubusercontent.com/u/39633755
          template: PREBUILT_V2
          spec:
            source:
                image: gomods/athens:v0.16.2
            ports:
                - id: web
                  port: 3000
                  type: HTTP
            volumes:
                - id: athens-storage
                  dir: /var/lib/athens
            env:
                ATHENS_DISK_STORAGE_ROOT:
                    default: /var/lib/athens
                ATHENS_STORAGE_TYPE:
                    default: disk
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Athens es un servidor proxy de modulos Go de codigo abierto. Almacena en cache y sirve modulos Go desde una instancia autoalojada con interfaz web para explorar paquetes en cache. Almacenamiento en disco integrado, sin base de datos externa.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio
              description: El dominio para acceder al proxy de modulos Go Athens
        readme: |
            # Athens

            Servidor proxy de modulos Go de codigo abierto. Aloja tu propia cache de modulos Go para acelerar compilaciones y asegurar la disponibilidad de modulos.

            ## Primeros pasos

            Despues del despliegue, configura tu entorno Go para usar este proxy:

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            Luego ejecuta `go mod download` o `go build` como de costumbre. Athens almacenara en cache los modulos en la primera descarga.

            ## Que puedes hacer despues del despliegue

            1. **Configura GOPROXY** -- apunta tu toolchain de Go al dominio de Athens
            2. **Explora modulos en cache** -- visita tu dominio en el navegador para ver el catalogo
            3. **Acelera compilaciones CI** -- comparte el proxy con tu equipo
            4. **Asegura disponibilidad** -- los modulos en cache siguen disponibles si el origen falla
            5. **Control de acceso** -- usa archivos de filtro para permitir o bloquear modulos

            ## Licencia

            MIT -- [GitHub](https://github.com/gomods/athens)
    id-ID:
        description: |
            Athens adalah server proxy modul Go open-source. Cache dan sajikan modul Go dari instance self-hosted dengan Web UI untuk menjelajahi paket yang di-cache. Penyimpanan disk bawaan, tanpa database eksternal.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain
              description: Domain untuk mengakses proxy modul Go Athens
        readme: |
            # Athens

            Server proxy modul Go open-source. Host cache modul Go sendiri untuk mempercepat build dan memastikan ketersediaan modul.

            ## Memulai

            Setelah deploy, konfigurasi lingkungan Go untuk menggunakan proxy ini:

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            Lalu jalankan `go mod download` atau `go build` seperti biasa. Athens akan meng-cache modul pada download pertama.

            ## Apa yang bisa dilakukan setelah deploy

            1. **Atur GOPROXY** -- arahkan toolchain Go ke domain Athens
            2. **Jelajahi modul yang di-cache** -- buka domain di browser untuk melihat katalog
            3. **Percepat build CI** -- bagikan proxy ke tim untuk resolusi dependensi lebih cepat
            4. **Pastikan ketersediaan** -- modul yang di-cache tetap tersedia saat upstream down
            5. **Kontrol akses** -- gunakan file filter untuk mengizinkan atau memblokir modul tertentu

            ## Lisensi

            MIT -- [GitHub](https://github.com/gomods/athens)
    ja-JP:
        description: |
            Athens はオープンソースの Go モジュールプロキシサーバーです。セルフホストのインスタンスから Go モジュールをキャッシュ・提供し、キャッシュパッケージを閲覧する Web UI を搭載。ディスクストレージ内蔵で外部データベース不要。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: ドメイン
              description: Athens Go モジュールプロキシにアクセスするためのドメイン
        readme: |
            # Athens

            オープンソースの Go モジュールプロキシサーバー。Go モジュールキャッシュをセルフホストしてビルドを高速化し、モジュールの可用性を確保。

            ## はじめに

            デプロイ後、Go 環境をこのプロキシに設定：

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            その後、通常通り `go mod download` や `go build` を実行。Athens は初回フェッチ時にモジュールをキャッシュします。

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

            1. **GOPROXY を設定** -- Go ツールチェーンを Athens ドメインに向ける
            2. **キャッシュモジュールを閲覧** -- ブラウザでドメインにアクセスしてカタログを確認
            3. **CI ビルドを高速化** -- チームでプロキシを共有して依存解決を高速化
            4. **可用性を確保** -- キャッシュされたモジュールはアップストリームがダウンしても利用可能
            5. **アクセス制御** -- フィルタファイルで特定モジュールを許可・ブロック

            ## ライセンス

            MIT -- [GitHub](https://github.com/gomods/athens)
    ko-KR:
        description: |
            Athens는 오픈소스 Go 모듈 프록시 서버입니다. 단일 셀프 호스팅 인스턴스에서 Go 모듈을 캐시하고 제공하며, 캐시된 패키지를 탐색하는 Web UI를 포함합니다. 내장 디스크 스토리지, 외부 데이터베이스 불필요.
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 도메인
              description: Athens Go 모듈 프록시에 접속할 도메인
        readme: |
            # Athens

            오픈소스 Go 모듈 프록시 서버. Go 모듈 캐시를 셀프 호스팅하여 빌드를 가속화하고 모듈 가용성을 확보합니다.

            ## 시작하기

            배포 후 Go 환경을 이 프록시로 설정합니다:

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            그 후 평소처럼 `go mod download` 또는 `go build`를 실행합니다. Athens가 첫 다운로드 시 모듈을 캐시합니다.

            ## 배포 후 할 수 있는 것

            1. **GOPROXY 설정** -- Go 툴체인을 Athens 도메인으로 지정
            2. **캐시된 모듈 탐색** -- 브라우저에서 도메인을 열어 카탈로그 확인
            3. **CI 빌드 가속화** -- 팀에서 프록시를 공유하여 의존성 해결 속도 향상
            4. **가용성 확보** -- 캐시된 모듈은 업스트림이 다운되어도 사용 가능
            5. **접근 제어** -- 필터 파일로 특정 모듈 허용 또는 차단

            ## 라이선스

            MIT -- [GitHub](https://github.com/gomods/athens)
    th-TH:
        description: |
            Athens เป็นเซิร์ฟเวอร์พร็อกซีโมดูล Go แบบโอเพนซอร์ส แคชและให้บริการโมดูล Go จากอินสแตนซ์ self-hosted พร้อม Web UI สำหรับเรียกดูแพ็กเกจที่แคช พื้นที่จัดเก็บดิสก์ในตัว ไม่ต้องใช้ฐานข้อมูลภายนอก
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: โดเมน
              description: โดเมนสำหรับเข้าถึงพร็อกซีโมดูล Go Athens
        readme: |
            # Athens

            เซิร์ฟเวอร์พร็อกซีโมดูล Go แบบโอเพนซอร์ส โฮสต์แคชโมดูล Go ของคุณเองเพื่อเร่งความเร็วการ build และรับประกันความพร้อมใช้งานของโมดูล

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

            หลังจากติดตั้ง ตั้งค่าสภาพแวดล้อม Go ให้ใช้พร็อกซีนี้:

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            จากนั้นรัน `go mod download` หรือ `go build` ตามปกติ Athens จะแคชโมดูลเมื่อดาวน์โหลดครั้งแรก

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

            1. **ตั้งค่า GOPROXY** -- ชี้ Go toolchain ไปที่โดเมน Athens
            2. **เรียกดูโมดูลที่แคช** -- เปิดโดเมนในเบราว์เซอร์เพื่อดูแคตตาล็อก
            3. **เร่งความเร็ว CI build** -- แชร์พร็อกซีในทีมเพื่อแก้ไข dependency เร็วขึ้น
            4. **รับประกันความพร้อมใช้งาน** -- โมดูลที่แคชยังใช้ได้แม้ upstream จะล่ม
            5. **ควบคุมการเข้าถึง** -- ใช้ไฟล์ฟิลเตอร์เพื่ออนุญาตหรือบล็อกโมดูลเฉพาะ

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

            MIT -- [GitHub](https://github.com/gomods/athens)
    zh-CN:
        description: |
            Athens 是开源的 Go 模块代理服务器。从单一自托管实例缓存及提供 Go 模块，附带浏览缓存包的 Web UI。内置磁盘存储，无需外部数据库。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 域名
              description: 访问 Athens Go 模块代理的域名
        readme: |
            # Athens

            开源的 Go 模块代理服务器。自托管 Go 模块缓存以加速构建，确保模块可用性。

            ## 开始使用

            部署后，配置 Go 环境使用此代理：

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            然后照常运行 `go mod download` 或 `go build`，Athens 会在首次拉取时缓存模块。

            ## 部署后可以做什么

            1. **设置 GOPROXY** -- 将 Go 工具链指向你的 Athens 域名
            2. **浏览缓存模块** -- 在浏览器打开域名查看目录
            3. **加速 CI 构建** -- 团队共用代理加快依赖解析
            4. **确保可用性** -- 缓存的模块在上游离线时仍可使用
            5. **访问控制** -- 使用过滤文件允许或阻止特定模块

            ## 授权

            MIT -- [GitHub](https://github.com/gomods/athens)
    zh-TW:
        description: |
            Athens 是開源的 Go 模組代理伺服器。從單一自架實例快取及提供 Go 模組，附帶瀏覽快取套件的 Web UI。內建磁碟儲存，無需外部資料庫。
        variables:
            - key: PUBLIC_DOMAIN
              type: STRING
              name: 網域
              description: 存取 Athens Go 模組代理的網域
        readme: |
            # Athens

            開源的 Go 模組代理伺服器。自架 Go 模組快取以加速建置，確保模組可用性。

            ## 開始使用

            部署後，設定 Go 環境使用此代理：

            ```bash
            export GOPROXY=https://your-domain.zeabur.app
            ```

            然後照常執行 `go mod download` 或 `go build`，Athens 會在首次拉取時快取模組。

            ## 部署後可以做什麼

            1. **設定 GOPROXY** -- 將 Go 工具鏈指向你的 Athens 網域
            2. **瀏覽快取模組** -- 在瀏覽器開啟網域查看目錄
            3. **加速 CI 建置** -- 團隊共用代理加快依賴解析
            4. **確保可用性** -- 快取的模組在上游離線時仍可使用
            5. **存取控制** -- 使用篩選檔案允許或封鎖特定模組

            ## 授權

            MIT -- [GitHub](https://github.com/gomods/athens)
