This document lists the common first-setup failures.
Node.js was not on PATH during bun install. Without Node.js, Bun runs the better-sqlite3 install script itself, cannot download the prebuilt binary, and tries a source compilation that usually fails. The dashboard then cannot open a database.
Install Node.js 22 (see Requirements), then reinstall:
rm -rf node_modules
bun installWith Node.js on PATH, the warning does not appear and no compiler is necessary.
The first ./scripts/netflow-db.sh run compiles the Rust pipeline in release mode. The compilation takes several minutes and happens one time. Later runs start immediately.
The pipeline did not find an nfdump executable. This error can appear after several minutes, because the pipeline compiles and discovers input files first.
Build the pinned fork, then pass its path:
git submodule update --init --recursive
./vendor/scripts/compile-nfdump.sh
./scripts/netflow-db.sh pipeline ... --nfdump target/nfdump/libexec/nfdumpThe command used a system nfdump installation. A system nfdump does not have the output mode that the pipeline needs. Pass the pinned fork with --nfdump target/nfdump/libexec/nfdump.
Each member in the dataset sources must be a directory directly under root_path. Check these items in datasets.json:
root_pathis a real path on this computer, not the/path/to/...placeholder from the example file.- Each
membersname matches a directory name underroot_pathexactly.
The input directory layout shows the expected structure.
The dashboard did not discover a database at data/<dataset-id>/netflow.sqlite.
- Run the pipeline to create the database.
- If the dataset
db_pathis outsidedata/, setLOCAL_SQLITE_PATHin.envto the database path.
The server discovered a database but could not read it. Check these items:
- Each file at
data/<dataset-id>/netflow.sqliteis a database that the pipeline produced. Run the verify command against it. - If you exported
ATLANTIS_DB_DRIVER=d1, the local D1 database needs the migrations from Operations.
This error comes from the Cloudflare Workers runtime on NixOS. Local SQLite development does not start it. The runtime only starts when you develop against local D1 with ATLANTIS_DB_DRIVER=d1; for that, enable programs.nix-ld in your NixOS configuration.
The dashboard opened a date range without processed data. Check these items:
- The pipeline date range covers the dates that you look at. The pipeline only processes the days between
--start-dateand--end-date. - The date range in the dashboard is inside the processed range. A new visit opens at the earliest processed day, but a saved web address keeps its own dates.
- If the dataset sets
default_start_dateindatasets.json, that date is inside the processed range. Remove the field to let the pipeline use the earliest processed day.
Run the verify command with --require-data to confirm that the database contains results.