installation
Installing PacketPilot Analyze
Download
Download the Docker bundle from:
https://packetpilot.db-electronics.no/api/download/bundle
The bundle is a .zip file containing:
docker-compose.ymlbackend/— FastAPI applicationfrontend/— Next.js web UIollama/— Ollama setup (models downloaded at first run).env— environment configuration template
No license key is required to start. The free tier is unlimited for Solo (5 devices, 10 cases/month).
Prerequisites
Linux
# Check Docker version
docker --version # requires Docker 20.x or later
docker compose version # requires Docker Compose v2
Windows (WSL2)
- Install WSL2 with Ubuntu 22.04
- Install Docker Desktop with WSL2 integration enabled
- Open Ubuntu and verify:
docker --version
docker compose version
Installation Steps
1. Extract the Bundle
mkdir -p ~/packetpilot-analyze
cd ~/packetpilot-analyze
unzip ~/Downloads/PacketPilot-Analyze-Suite.zip
2. Configure Environment
Copy the environment template and review the defaults:
cp .env.example .env
Key variables in .env:
# Database
POSTGRES_PASSWORD=change_me
# Ollama (AI)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral:latest
# License
PPRO_LICENSE_KEY= # Leave blank for free Solo tier
LICENSE_SERVER_PORT=9000
# AI Summaries (requires Ollama)
AI_SUMMARIES_ENABLED=true
For a first-time install with no license key, leave PPRO_LICENSE_KEY blank. The Solo free tier activates automatically.
3. Start the Stack
docker compose up -d
Docker downloads the required images (first run only — may take 5-10 minutes depending on connection speed).
4. Download Ollama Model
On first run, Ollama needs to download an AI model. This is a one-time download:
docker compose logs -f ollama
# Wait for: "pulling model... done"
Common models (choose one via OLLAMA_MODEL in .env):
| Model | Size | Quality | Recommended For |
|-------|------|---------|----------------|
| mistral:latest | ~4 GB | Good | General network diagnostics |
| llama3.2:latest | ~2 GB | Better | More detailed explanations |
| nomic-embed-text | ~274 MB | — | RAG / knowledge retrieval |
5. Verify All Services Are Running
docker compose ps
Expected output:
NAME STATUS PORTS
backend Up 0.0.0.0:8000->8000/tcp
frontend Up 0.0.0.0:3000->3000/tcp
postgres Up 0.0.0.0:5432->5432/tcp
ollama Up 0.0.0.0:11434->11434/tcp
license-server Up 0.0.0.0:9000->9000/tcp
6. Open the Web UI
Navigate to:
http://localhost:3000
You should see the PacketPilot Analyze dashboard. If this is your first visit, you'll be guided through creating an admin account.
Network Access
By default, Analyze binds to localhost on ports 3000 and 8000. To make it accessible from other machines on the network, change the binding in docker-compose.yml:
services:
frontend:
ports:
- "0.0.0.0:3000:3000" # Changed from 127.0.0.1:3000:3000
backend:
ports:
- "0.0.0.0:8000:8000" # Changed from 127.0.0.1:8000:8000
Then run docker compose restart to apply the change.
Data Storage
All case data is stored in the postgres Docker volume:
docker compose exec postgres pg_dump -U postgres packetpilot > backup_$(date +%Y%m%d).sql
Backups can be restored with:
cat backup_YYYYMMDD.sql | docker compose exec -T postgres psql -U postgres packetpilot
Updating
To update to a new version:
cd ~/packetpilot-analyze
docker compose down
# Backup data first (see above)
unzip PacketPilot-Analyze-Suite-vX.Y.zip # new version
docker compose up -d
Your docker-compose.yml, .env, and data volumes are preserved. Only the service images are updated.
Uninstalling
docker compose down -v # -v removes data volumes — WARNING: destroys all cases
rm -rf ~/packetpilot-analyze
Warning: Using
-vremoves all cases, findings, and stored artifacts permanently. Backup first if you need to preserve data.
Port Reference
| Service | Internal Port | Default External |
|---------|--------------|-----------------|
| Web UI | 3000 | localhost:3000 |
| REST API | 8000 | localhost:8000 |
| PostgreSQL | 5432 | Not exposed |
| Ollama | 11434 | Not exposed |
| License Server | 9000 | Not exposed |
Only ports 3000 and 8000 need to be accessible to users. All other ports are internal to the Docker network.
Upgrading an existing install
See the Install & Upgrade guide for upgrade paths, data-preservation guarantees, and how to transfer a license to a new machine.