Docker installation

CTFreak provides automatically updated Docker images within the JYP Software Docker Hub organization.

System requirements

  • At least 2GB of RAM
  • Docker Engine
  • Docker Compose
  • AMD64 architecture
  • CTFreak configuration/data folder must not be located on a network drive
  • An active internet connection for at least 2 hours per day to allow license check (only required for licenses other than the FREE Edition)

NB: Ansible integration is only available for manual installation on a Linux or FreeBSD host.

Installing

To install CTFreak as a service, we will rely on docker compose command.

Create a docker-compose.yml file with the following content (adapt timezone, proxy, port mapping according to your needs):

services:
  ctfreak:
    image: jypsoftware/ctfreak
    environment:
      - TZ=Europe/Paris                                     # Set timezone used to schedule your tasks
#      - HTTPS_PROXY=http://user:password@proxy.local:8080  # Uncomment if proxy is needed to check the license key
    ports:
      - "6700:6700"
    volumes:
      - ctfreak-data:/data # CTFreak config folder to store logs, embedded database, config file
    restart: "unless-stopped"

volumes:
  ctfreak-data:

Then while in the same folder as the docker-compose.yml run:

docker compose up -d

At startup, CTFreak will use its dedicated config folder /data to store its configuration file, embedded SQLite backend database and execution log files.

Navigate to http://localhost:6700.

Log in with the default user: admin / password: ctfreak.

To complete this installation, we encourage you to configure a reverse proxy and update the global settings.

Switching to a PostgreSQL backend database

If you have opted for a Business Edition license, you can also switch to a PostgreSQL backend database instead of the default embedded SQLite backend database.

Upgrading

Execute:

docker compose pull
docker compose up -d

Uninstall

Execute:

docker compose stop
docker compose rm