Run Rockfish in Docker

This Dockerfile builds a container that runs the rockfish CLI (the Rockfish NDR sensor/processor — ingest Suricata EVE → Parquet, hunt, report, MCP, …) by installing the published .deb from the Rockfish APT repository. The image always tracks an official release; nothing is built from source.

Build

cd docker

# Latest published release
docker build -t rockfish .

# Pin a specific version
docker build --build-arg ROCKFISH_VERSION=2606.a -t rockfish:2606.a .

Run

# Show version / help
docker run --rm rockfish --version
docker run --rm rockfish --help

# Ingest a Suricata EVE socket into Parquet (mount your data + config)
docker run --rm \
  -v /var/run/suricata:/var/run/suricata \
  -v /var/lib/rockfish:/var/lib/rockfish \
  -v /opt/rockfish/etc:/opt/rockfish/etc \
  rockfish ingest --socket /var/run/suricata/eve.sock

ENTRYPOINT is rockfish, so anything after the image name is passed straight to the CLI. Ports 3000 (HTTP report server) and 8082 (MCP) are exposed — publish them with -p when you run those subcommands.

Build args

Arg Default Purpose
ROCKFISH_APT https://repo.rockfishndr.com APT repo base URL to install from
ROCKFISH_VERSION (empty) Empty = latest published; set to pin (e.g. 2606.a)
DUCKDB_VERSION v1.2.2 libduckdb version (must match the release)

What’s in the image

Notes