Deploying CyberChef Open-Source Data Transformation Platform on Ubuntu 24.04

작성자

카테고리:

← 피드로
DEV Community · Sanskriti Harmukh · 2026-06-17 개발(SW)

CyberChef is GCHQ’s open-source “cyber swiss army knife”, a browser-based tool for encoding, encryption, compression, and data analysis pipelines. Everything runs client-side, so no data ever leaves the browser. This guide deploys CyberChef using Docker Compose with Traefik handling automatic HTTPS. By the end, you’ll have CyberChef serving its full operations catalogue securely at your domain.

Set Up the Directory Structure

1. Create the project directory:

$ mkdir -p ~/cyberchef
$ cd ~/cyberchef

Enter fullscreen mode Exit fullscreen mode

2. Create the environment file:

$ nano .env

Enter fullscreen mode Exit fullscreen mode

DOMAIN=cyberchef.example.com
[email protected]

Enter fullscreen mode Exit fullscreen mode

CyberChef is stateless — no other directories are needed.

Deploy with Docker Compose

1. Create the Docker Compose manifest:

$ nano docker-compose.yaml

Enter fullscreen mode Exit fullscreen mode

services:
  traefik:
    image: traefik:v3.6
    container_name: traefik
    command:
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    restart: unless-stopped

  cyberchef:
    image: ghcr.io/gchq/cyberchef:10.22.0
    container_name: cyberchef
    expose:
      - "80"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.cyberchef.rule=Host(`${DOMAIN}`)"
      - "traefik.http.routers.cyberchef.entrypoints=websecure"
      - "traefik.http.routers.cyberchef.tls.certresolver=letsencrypt"
      - "traefik.http.services.cyberchef.loadbalancer.server.port=80"
    restart: unless-stopped

volumes:
  letsencrypt:

Enter fullscreen mode Exit fullscreen mode

2. Start the services:

$ docker compose up -d

Enter fullscreen mode Exit fullscreen mode

3. Verify the services are running:

$ docker compose ps
$ docker compose logs

Enter fullscreen mode Exit fullscreen mode

Access CyberChef

Open https://cyberchef.example.com in a browser. The four-panel UI loads:

  • Operations (left): searchable transform list
  • Recipe (centre): chain of operations
  • Input (top right): paste data
  • Output (bottom right): result

Run a Sample Recipe

1. Paste the Base64 input:

Q3liZXJDaGVmIHN1Y2Nlc3NmdWxseSBkZXBsb3llZCE=

Enter fullscreen mode Exit fullscreen mode

2. Search for From Base64, drag it into the Recipe panel, then click Bake.

The Output panel shows:

CyberChef successfully deployed!

Enter fullscreen mode Exit fullscreen mode

Next Steps

CyberChef is running and served securely over HTTPS. From here you can:

  • Save recipes as shareable URLs or JSON for reuse
  • Pin operations as favourites for quick recall
  • Front CyberChef with Authelia or basic auth if you want access control

For the full guide with additional tips, visit the original article on Vultr Docs.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다