Import & export
Everything you put into Flagpost comes back out. Three mechanisms cover the range from “move my challenges” to “move my whole install”.
Bulk challenge import & export (ctfcli YAML)
Section titled “Bulk challenge import & export (ctfcli YAML)”Challenges travel as a zip of ctfcli-format directories — the same format the CTFd ecosystem uses, so existing challenge repositories drop straight in.
- Export (
challenge_edit) — one<slug>/challenge.ymlper challenge plus its attachment files. Regex flags round-trip; static flag plaintexts are omitted (the platform stores only hashes) — keep your authoring repo as the source of truth for those. - Import (
challenge_create, 50 MB cap) — additive: existing titles are skipped, never overwritten. Categories are created as needed, tags are unioned into the competition vocabulary, hints/files/state come along, and prerequisites are resolved by title in a second pass. Static flags supplied in the YAML are hashed on the way in, so authoring → import is lossless. The top-levelconnection_infokey (a challenge’s live-service address) now round-trips with real ctfcli/CTFd bundles too — it was dropped on import before v1.5.0, a data-loss fix for CTFd migrators.
An instanced challenge’s deployment spec — image, ports, exposure, flag mode, and the resource guardrails — round-trips through both ctfcli import/export and the platform backup, so an instanced challenge moves between installs intact. Live instances themselves are runtime state and are never exported. See Challenge instances.
Field-by-field details: ctfcli YAML format.
Migrating from CTFd? Export your challenges with ctfcli (or use your existing ctfcli-format challenge repo), zip the challenge directories, and import. Moving your whole event, not just the challenges? See Switching from another platform.
Cloning a competition
Section titled “Cloning a competition”Cloning deep-copies a competition’s configuration — settings, categories, challenges (including flags), hints, attachments, closed surveys, module state — into a fresh competition with a clean slate (no participants, scores, tickets, rules, or audit; schedule cleared, new invite code). It’s the fastest way to re-run last year’s event. See Competitions.
Platform backup (export / import)
Section titled “Platform backup (export / import)”Admin → Site settings offers a full-fidelity, section-selectable backup of the whole install — site settings, users, roles, competitions, automations, audit log — as one versioned JSON document.
Import is additive: it creates what’s missing and never modifies or deletes. Details, semantics, and the sensitive-data warning: Backup & restore.