All Docs

Install & Upgrade

Cross-product guide for first-time installation and upgrading existing PacketPilot deployments.

Install & Upgrade PacketPilot

This page covers the full lifecycle: planning your install, getting it on the box, and upgrading without losing data or licenses.

If you only need product-specific install steps, jump straight to:


1. Before you install

System requirements

| Product | OS | RAM | Disk | Internet | |---|---|---|---|---| | Config | Windows 10 or 11 (x86_64) | 4 GB | ~400 MB | Not required after install | | Analyze | Linux or Windows with Docker | 8 GB (16 GB recommended) | ~2 GB images + capture data | Required for image pull; not for runtime |

Both products are self-hosted — no cloud calls, no per-seat fees, no telemetry by default. Config is fully offline after install. Analyze is fully offline after the first docker compose pull.

Compatibility matrix

| Config | Analyze | License server | Compatible? | |---|---|---|---| | 1.0.x | 0.1.x | bundled or local | ✅ | | 1.0.x | 0.1.x | public dB server | ✅ | | 0.9.x | 0.1.x | any | ⚠️ Config 0.9 → 1.0 migration has data format changes — see below |

License keys are independent of version. A key bought for Config 1.0 still works with Config 1.1. The key only expires by date.


2. First-time install

Config (Windows)

# 1. Download the ZIP
Invoke-WebRequest -Uri "https://packetpilot.db-electronics.no/api/download/config" -OutFile "PacketPilot-Config.zip"

# 2. Extract (NOT a one-click installer; the EXE is inside)
Expand-Archive -Path "PacketPilot-Config.zip" -DestinationPath "C:\PacketPilot"

# 3. Launch
C:\PacketPilot\packetpilot-config.exe

First launch walks you through:

  • Master password setup (encrypts credentials at rest)
  • Optional Registry URL (skip if you don't use Registry)
  • 30-day free trial begins automatically

Analyze (Docker)

# 1. Download the bundle
curl -L -o packetpilot-analyze.zip \
  https://packetpilot.db-electronics.no/api/download/bundle

# 2. Extract
unzip packetpilot-analyze.zip
cd packetpilot-analyze

# 3. Generate a random Postgres password (one-time)
./init.sh    # or init.bat on Windows

# 4. Start
docker compose up -d

Wait ~45 seconds. The web UI is at http://localhost:3000.

License server (optional)

Most installs don't need a separate license server — Config and Analyze use a built-in one. Only set up a dedicated license server if you have multiple sites and want a single point of license management.

See architecture overview for the decision matrix.


3. Upgrading existing installs

Config

Config is a self-contained EXE + supporting DLLs. Upgrading = replace the EXE:

# 1. Stop the running Config (close the window or end the task)
Stop-Process -Name "packetpilot-config" -ErrorAction SilentlyContinue

# 2. Replace the EXE (and any new bundled DLLs)
Copy-Item -Path ".\new\packetpilot-config.exe" -Destination "C:\PacketPilot\packetpilot-config.exe" -Force
# If the new ZIP has additional DLLs, copy those too

# 3. Restart
C:\PacketPilot\packetpilot-config.exe

Your data is preserved. Config stores everything in a SQLite database in %APPDATA%\PacketPilot\packetpilot.db. The upgrade never touches this file.

SmartScreen warning on upgrade: Windows may show a SmartScreen prompt the first time you launch the new EXE ("Windows protected your PC"). Click "More info" → "Run anyway". This is normal for unsigned binaries.

Analyze

Analyze is a Docker stack. Upgrading = pull new images and re-create containers:

cd packetpilot-analyze    # your existing install dir

# Pull new images and re-create containers (preserves DB and uploads)
docker compose pull
docker compose up -d

The Postgres data volume (./data/postgres) and the uploads volume (./data/artifacts) are preserved. No data loss. Check docker compose logs -f to confirm the new version started cleanly.

License server (standalone)

If you run a separate license server (the suite bundle), upgrade it the same way as Analyze: docker compose pull && docker compose up -d. License keys are stored in the license server's own SQLite DB and are not affected.


4. What changes when you upgrade

Config, Analyze, and the License server are versioned together on a shared release cadence. Major version bumps (1.0 → 2.0) may include data format changes; minor bumps (1.0 → 1.1) are always backwards compatible.

| From | To | Action required | |---|---|---| | 0.9.x | 1.0.x | Manual SQLite schema migration; contact support@db-electronics.no for the upgrade script | | 1.0.x | 1.1.x | None — install over the top | | 1.0.x | 1.0.x (point release) | None — install over the top | | Any | 0.x (downgrade) | Not supported — restore from backup instead |

Release notes for each version are at /releases.


5. License transfer between machines

If you're moving Config to a new machine (new PC, new laptop), your license is bound to the old machine's hardware. To transfer it without contacting support:

  1. On the old machine, open a terminal in the packetpilot-license-client directory and run:
    pip install packetpilot-license-client
    ppro-license transfer --key PPRO-XXXXXX-YY
    
  2. Copy the transfer token the command prints.
  3. On the new machine, install the license client and run:
    ppro-license redeem <paste-token> --key PPRO-XXXXXX-YY
    
  4. Launch Config — it will validate against the new hardware.

If you no longer have access to the old machine, email support@db-electronics.no with your license key and the new machine's hw_id (run ppro-license status to get it). Manual resets are processed within one business day.

Full guide: License Recovery


6. Troubleshooting upgrades

| Symptom | Likely cause | Fix | |---|---|---| | Config crashes immediately after upgrade | Old DLLs still in folder | Delete everything in C:\PacketPilot\ except packetpilot.db, then re-extract the new ZIP | | Analyze containers won't start after upgrade | Postgres password in .env doesn't match the volume | docker compose down -v (wipes DB) → ./init.shdocker compose up -d — then re-import any backup | | License says "Hardware ID mismatch" | Moved to new machine, didn't transfer | See section 5 above | | SmartScreen blocks new EXE | Unsigned binary | Click "More info" → "Run anyway" | | docker compose pull times out | No internet or corporate firewall | Configure HTTP proxy, see troubleshooting |


7. Getting help

If you're stuck on an upgrade:

  1. Check the troubleshooting page — covers the common issues
  2. Search the releases page for your specific version's known issues
  3. Email support@db-electronics.no with: product + version, the upgrade path you tried, and any error messages. Include the output of ppro-license status if it's a license issue.

For self-hosted installs we aim to respond within one business day. There's no paid support tier — basic help is part of the license.