Installation methods overview
CTFreak can be installed in several ways: as a single binary on Linux, FreeBSD or Windows, or through a packaged distribution (Docker, Snap or Cloudron).
Packaged distributions are the quickest way to get started, but they run CTFreak in a sandboxed environment that restricts some features. The table below summarizes what each installation method supports, so you can pick the one matching your needs before following the corresponding installation page.
Feature availability by installation method
| Docker | Snap | Cloudron | Linux | FreeBSD | Windows | |
|---|---|---|---|---|---|---|
| Architectures | AMD64 | AMD64 | AMD64 | AMD64, ARM64 | AMD64, ARM64 | AMD64 |
| Ansible playbook tasks | No | No | No | Yes | Yes | No |
| Local command tasks | Partial | Partial | Partial | Yes | Yes | Yes |
| PostgreSQL backend database | Yes | Yes | No | Yes | Yes | Yes |
| High availability | Yes | Yes | No | Yes | Yes | Yes |
| Secret encryption | Yes | No | No | Yes | Yes | Yes |
| SOVEREIGN Edition license | No | No | No | Yes (AMD64 only) | No | Yes (AMD64 only) |
All other features (command, script, SQL, HTTP request and workflow tasks, notifiers, OIDC authentication, SCIM provisioning, API…) are available whatever the installation method.
Notes
- Ansible playbook tasks require the
ansible-playbookexecutable on the host running CTFreak. It is not shipped in the Docker, Snap and Cloudron packages, and Ansible does not run on Windows hosts, so this task type is only available for manual installations on Linux or FreeBSD. - Local command tasks run on the host running CTFreak. With Docker, Snap and Cloudron, they run inside the container or sandbox, with the shell and tools available there, rather than on the underlying server, hence the partial support.
- PostgreSQL backend database, high availability and secret encryption require editing the CTFreak configuration file or running
ctfreakcommands while the instance is stopped, which is not practical with Snap and Cloudron packages. - SOVEREIGN Edition relies on hardware fingerprinting and is therefore restricted to manual installations on Linux or Windows.