# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: CTFd
spec:
    description: |
        Capture The Flag competition platform for running security challenges, managing teams, and tracking scores. Built with Python/Flask and SQLite, supporting dynamic and static challenge types out of the box.
    coverImage: https://avatars.githubusercontent.com/u/17711142?v=4
    icon: https://avatars.githubusercontent.com/u/17711142?v=4
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access CTFd
    tags:
        - Tool
        - Security
    readme: |
        # CTFd

        A Capture The Flag competition platform designed to be easy to use and customizable. Host your own CTF events with dynamic scoring, team management, and a real-time scoreboard.

        ## Use Cases

        - **CTF Competitions** - Host jeopardy-style CTF events with multiple challenge categories and difficulty levels
        - **Security Training** - Create guided challenge sets for teaching offensive and defensive security skills
        - **Team Management** - Organize participants into teams with individual and team-based scoring
        - **Education** - Use in university courses and workshops to teach cybersecurity concepts hands-on

        ## Getting Started

        1. Open your assigned domain in a browser
        2. Complete the setup wizard to configure your CTF name, admin account, and scoring mode
        3. Create challenge categories and add challenges via the admin panel
        4. Share the URL with participants to register and start competing

        ## Default Configuration

        - **Port**: 8000 (HTTP)
        - **Database**: SQLite (persistent within the container volume)
        - **Admin**: Created during first-run setup wizard

        ## Resources

        - [CTFd Documentation](https://docs.ctfd.io/)
        - [GitHub Repository](https://github.com/CTFd/CTFd)
        - [Plugin Development Guide](https://docs.ctfd.io/docs/plugins/overview)

        ## License

        Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    services:
        - name: ctfd
          icon: https://avatars.githubusercontent.com/u/17711142?v=4
          template: PREBUILT_V2
          spec:
            source:
                image: ctfd/ctfd:3.8.2
            ports:
                - id: web
                  port: 8000
                  type: HTTP
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Plataforma Capture The Flag para competiciones de seguridad, gestion de equipos y seguimiento de puntuaciones. Construida con Python/Flask y SQLite, soporta tipos de desafios dinamicos y estaticos de serie.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Dominio
              description: El dominio para acceder a CTFd
        readme: |
            # CTFd

            Una plataforma de competicion Capture The Flag facil de usar y personalizable. Organiza tus propios eventos CTF con puntuacion dinamica, gestion de equipos y marcador en tiempo real.

            ## Casos de Uso

            - **Competiciones CTF** - Organiza eventos CTF estilo Jeopardy con multiples categorias de desafios y niveles de dificultad
            - **Formacion en Seguridad** - Crea conjuntos de desafios guiados para ensenar habilidades de seguridad ofensiva y defensiva
            - **Gestion de Equipos** - Organiza participantes en equipos con puntuacion individual y por equipos
            - **Educacion** - Usa en cursos universitarios y talleres para ensenar conceptos de ciberseguridad de forma practica

            ## Primeros Pasos

            1. Abre tu dominio asignado en el navegador
            2. Completa el asistente de configuracion para definir el nombre del CTF, cuenta de administrador y modo de puntuacion
            3. Crea categorias de desafios y anade desafios desde el panel de administracion
            4. Comparte la URL con los participantes para que se registren y comiencen a competir

            ## Configuracion Predeterminada

            - **Puerto**: 8000 (HTTP)
            - **Base de datos**: SQLite (persistente en el volumen del contenedor)
            - **Administrador**: Se crea durante el asistente de configuracion inicial

            ## Recursos

            - [Documentacion de CTFd](https://docs.ctfd.io/)
            - [Repositorio GitHub](https://github.com/CTFd/CTFd)
            - [Guia de desarrollo de plugins](https://docs.ctfd.io/docs/plugins/overview)

            ## Licencia

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    id-ID:
        description: |
            Platform Capture The Flag untuk kompetisi keamanan, manajemen tim, dan pelacakan skor. Dibangun dengan Python/Flask dan SQLite, mendukung tipe tantangan dinamis dan statis secara bawaan.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Domain
              description: Domain untuk mengakses CTFd
        readme: |
            # CTFd

            Platform kompetisi Capture The Flag yang mudah digunakan dan dapat dikustomisasi. Selenggarakan acara CTF Anda sendiri dengan penilaian dinamis, manajemen tim, dan papan skor real-time.

            ## Kasus Penggunaan

            - **Kompetisi CTF** - Selenggarakan acara CTF gaya Jeopardy dengan berbagai kategori tantangan dan tingkat kesulitan
            - **Pelatihan Keamanan** - Buat set tantangan terpandu untuk mengajarkan keterampilan keamanan ofensif dan defensif
            - **Manajemen Tim** - Organisasikan peserta ke dalam tim dengan penilaian individu dan berbasis tim
            - **Pendidikan** - Gunakan dalam kursus universitas dan workshop untuk mengajarkan konsep keamanan siber secara praktis

            ## Memulai

            1. Buka domain yang ditetapkan di browser
            2. Selesaikan wizard pengaturan untuk mengonfigurasi nama CTF, akun admin, dan mode penilaian
            3. Buat kategori tantangan dan tambahkan tantangan melalui panel admin
            4. Bagikan URL kepada peserta untuk mendaftar dan mulai berkompetisi

            ## Konfigurasi Default

            - **Port**: 8000 (HTTP)
            - **Database**: SQLite (persisten dalam volume container)
            - **Admin**: Dibuat saat wizard pengaturan pertama kali

            ## Sumber Daya

            - [Dokumentasi CTFd](https://docs.ctfd.io/)
            - [Repositori GitHub](https://github.com/CTFd/CTFd)
            - [Panduan Pengembangan Plugin](https://docs.ctfd.io/docs/plugins/overview)

            ## Lisensi

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    ja-JP:
        description: |
            セキュリティ競技のための Capture The Flag プラットフォーム。チーム管理とスコア追跡に対応。Python/Flask と SQLite で構築され、動的・静的チャレンジタイプをすぐに利用できます。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: ドメイン
              description: CTFd にアクセスするためのドメイン
        readme: |
            # CTFd

            使いやすくカスタマイズ可能な Capture The Flag 競技プラットフォームです。動的スコアリング、チーム管理、リアルタイムスコアボードを備えた CTF イベントを開催できます。

            ## ユースケース

            - **CTF 競技** - 複数のチャレンジカテゴリと難易度レベルを持つ Jeopardy 形式の CTF イベントを開催
            - **セキュリティトレーニング** - 攻撃・防御スキルを教えるためのガイド付きチャレンジセットを作成
            - **チーム管理** - 参加者をチームに編成し、個人・チームベースのスコアリングに対応
            - **教育** - 大学の授業やワークショップでサイバーセキュリティの概念を実践的に教育

            ## はじめに

            1. ブラウザで割り当てられたドメインを開く
            2. セットアップウィザードで CTF 名、管理者アカウント、スコアリングモードを設定
            3. 管理パネルからチャレンジカテゴリを作成し、チャレンジを追加
            4. 参加者に URL を共有して登録・競技を開始

            ## デフォルト設定

            - **ポート**: 8000（HTTP）
            - **データベース**: SQLite（コンテナボリューム内に永続化）
            - **管理者**: 初回起動時のセットアップウィザードで作成

            ## リソース

            - [CTFd ドキュメント](https://docs.ctfd.io/)
            - [GitHub リポジトリ](https://github.com/CTFd/CTFd)
            - [プラグイン開発ガイド](https://docs.ctfd.io/docs/plugins/overview)

            ## ライセンス

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    ko-KR:
        description: |
            보안 경진대회를 위한 Capture The Flag 플랫폼으로, 팀 관리 및 점수 추적을 지원합니다. Python/Flask와 SQLite로 구축되었으며 동적 및 정적 챌린지 유형을 기본 지원합니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 도메인
              description: CTFd에 접속할 도메인
        readme: |
            # CTFd

            사용하기 쉽고 커스터마이징 가능한 Capture The Flag 경진대회 플랫폼입니다. 동적 채점, 팀 관리, 실시간 스코어보드를 갖춘 CTF 이벤트를 개최할 수 있습니다.

            ## 활용 사례

            - **CTF 대회** - 다양한 챌린지 카테고리와 난이도를 갖춘 Jeopardy 스타일 CTF 이벤트 개최
            - **보안 교육** - 공격 및 방어 보안 기술을 가르치기 위한 가이드 챌린지 세트 생성
            - **팀 관리** - 참가자를 팀으로 구성하고 개인 및 팀 기반 채점 지원
            - **교육** - 대학 과정과 워크숍에서 사이버 보안 개념을 실습으로 교육

            ## 시작하기

            1. 브라우저에서 할당된 도메인 열기
            2. 설정 마법사를 통해 CTF 이름, 관리자 계정, 채점 모드 구성
            3. 관리 패널에서 챌린지 카테고리 생성 및 챌린지 추가
            4. 참가자에게 URL을 공유하여 등록 및 경쟁 시작

            ## 기본 설정

            - **포트**: 8000 (HTTP)
            - **데이터베이스**: SQLite (컨테이너 볼륨 내 영구 저장)
            - **관리자**: 최초 실행 시 설정 마법사에서 생성

            ## 참고 자료

            - [CTFd 문서](https://docs.ctfd.io/)
            - [GitHub 저장소](https://github.com/CTFd/CTFd)
            - [플러그인 개발 가이드](https://docs.ctfd.io/docs/plugins/overview)

            ## 라이선스

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    th-TH:
        description: |
            แพลตฟอร์ม Capture The Flag สำหรับการแข่งขันด้านความปลอดภัย จัดการทีมและติดตามคะแนน สร้างด้วย Python/Flask และ SQLite รองรับประเภทโจทย์แบบไดนามิกและสแตติกพร้อมใช้งาน
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง CTFd
        readme: |
            # CTFd

            แพลตฟอร์มการแข่งขัน Capture The Flag ที่ใช้งานง่ายและปรับแต่งได้ จัดกิจกรรม CTF ของคุณเองพร้อมระบบคะแนนแบบไดนามิก การจัดการทีม และกระดานคะแนนแบบเรียลไทม์

            ## กรณีการใช้งาน

            - **การแข่งขัน CTF** - จัดกิจกรรม CTF แบบ Jeopardy พร้อมหมวดหมู่โจทย์หลากหลายและระดับความยากต่างๆ
            - **การฝึกอบรมด้านความปลอดภัย** - สร้างชุดโจทย์แบบมีแนวทางเพื่อสอนทักษะความปลอดภัยเชิงรุกและเชิงรับ
            - **การจัดการทีม** - จัดผู้เข้าร่วมเป็นทีมพร้อมระบบคะแนนแบบรายบุคคลและแบบทีม
            - **การศึกษา** - ใช้ในหลักสูตรมหาวิทยาลัยและเวิร์กช็อปเพื่อสอนแนวคิดความปลอดภัยทางไซเบอร์แบบลงมือปฏิบัติ

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

            1. เปิดโดเมนที่กำหนดในเบราว์เซอร์
            2. ทำตามวิซาร์ดตั้งค่าเพื่อกำหนดชื่อ CTF บัญชีผู้ดูแลระบบ และโหมดคะแนน
            3. สร้างหมวดหมู่โจทย์และเพิ่มโจทย์ผ่านแผงผู้ดูแลระบบ
            4. แชร์ URL ให้ผู้เข้าร่วมเพื่อลงทะเบียนและเริ่มแข่งขัน

            ## การตั้งค่าเริ่มต้น

            - **พอร์ต**: 8000 (HTTP)
            - **ฐานข้อมูล**: SQLite (เก็บถาวรในวอลุ่มคอนเทนเนอร์)
            - **ผู้ดูแลระบบ**: สร้างระหว่างวิซาร์ดตั้งค่าครั้งแรก

            ## แหล่งข้อมูล

            - [เอกสาร CTFd](https://docs.ctfd.io/)
            - [คลัง GitHub](https://github.com/CTFd/CTFd)
            - [คู่มือพัฒนาปลั๊กอิน](https://docs.ctfd.io/docs/plugins/overview)

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

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    zh-CN:
        description: |
            用于举办安全竞赛的 Capture The Flag 平台，支持管理团队与追踪分数。使用 Python/Flask 与 SQLite 构建，开箱即支持动态与静态题型。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 域名
              description: 用于访问 CTFd 的域名
        readme: |
            # CTFd

            一个易于使用且可自定义的 Capture The Flag 竞赛平台。举办自己的 CTF 活动，支持动态计分、团队管理和实时排行榜。

            ## 使用场景

            - **CTF 竞赛** - 举办 Jeopardy 风格的 CTF 活动，包含多种题目类别与难度等级
            - **安全培训** - 创建引导式题目集，教授攻击与防御安全技能
            - **团队管理** - 将参赛者组织成团队，支持个人与团队计分
            - **教育用途** - 在大学课程与工作坊中实践网络安全概念教学

            ## 开始使用

            1. 在浏览器中打开分配的域名
            2. 完成设置向导以配置 CTF 名称、管理员账号与计分模式
            3. 通过管理面板创建题目类别并添加题目
            4. 将网址分享给参赛者进行注册与竞赛

            ## 默认配置

            - **端口**：8000（HTTP）
            - **数据库**：SQLite（容器卷内持久存储）
            - **管理员**：首次启动时通过设置向导创建

            ## 相关资源

            - [CTFd 文档](https://docs.ctfd.io/)
            - [GitHub 仓库](https://github.com/CTFd/CTFd)
            - [插件开发指南](https://docs.ctfd.io/docs/plugins/overview)

            ## 授权

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
    zh-TW:
        description: |
            用於舉辦資安競賽的 Capture The Flag 平台，支援管理團隊與追蹤分數。使用 Python/Flask 與 SQLite 建構，開箱即支援動態與靜態題型。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 網域
              description: 用於存取 CTFd 的網域
        readme: |
            # CTFd

            一個易於使用且可自訂的 Capture The Flag 競賽平台。舉辦自己的 CTF 活動，支援動態計分、團隊管理和即時排行榜。

            ## 使用情境

            - **CTF 競賽** - 舉辦 Jeopardy 風格的 CTF 活動，包含多種題目類別與難度等級
            - **資安培訓** - 建立引導式題目集，教授攻擊與防禦安全技能
            - **團隊管理** - 將參賽者組織成團隊，支援個人與團隊計分
            - **教育用途** - 在大學課程與工作坊中實作網路安全概念教學

            ## 開始使用

            1. 在瀏覽器中開啟分配的網域
            2. 完成設定精靈以設定 CTF 名稱、管理員帳號與計分模式
            3. 透過管理面板建立題目類別並新增題目
            4. 將網址分享給參賽者進行註冊與競賽

            ## 預設設定

            - **連接埠**：8000（HTTP）
            - **資料庫**：SQLite（容器磁碟區內持久儲存）
            - **管理員**：首次啟動時透過設定精靈建立

            ## 相關資源

            - [CTFd 文件](https://docs.ctfd.io/)
            - [GitHub 儲存庫](https://github.com/CTFd/CTFd)
            - [外掛開發指南](https://docs.ctfd.io/docs/plugins/overview)

            ## 授權

            Apache-2.0 — [GitHub](https://github.com/CTFd/CTFd)
