How it works
Install the tool once on a build server, then repeat the same short workflow for every customer.
Install the build server
Copy the single file to a small Debian or Ubuntu machine you control and run the guided first-run wizard. It creates the database, the master key and your first admin.
sudo apt install -y python3 python3-cryptography age openssh-client sudo install -m 755 ipc-build.py /usr/local/bin/ipc-build sudo ipc-build
Add a customer and its sites
Give the customer a name and the DNS name of its server. Add one site for each location with cameras.
ipc-build customer add "Acme Bakery" --endpoint acme.vpn.example.com ipc-build site add "Acme Bakery" shop
Deploy the customer server
Order a small KVM VPS with Debian, point the DNS name at it and let the build server copy and run the script. The server key is stored for you.
ipc-build check "Acme Bakery" ipc-build deploy server "Acme Bakery"
Build the box
Install stock Debian on a ThinkCentre, copy the generated box script and run it. It sets up the tunnel, firewall and camera network and prints an enrol line.
sudo bash /tmp/box-acme-bakery-shop.sh
Enrol the box
Paste the enrol line into the wizard or the command line, generate again and refresh the server. Only now does the server accept the box.
ipc-build enrol "Acme Bakery" ipc-build generate "Acme Bakery" ipc-build deploy server "Acme Bakery"
Add people and hand over
Viewers and admins give you only a WireGuard public key. Send them their profile and the customer guide, then run the acceptance tests on the box.
ipc-build person add "Acme Bakery" anna --role viewer --key <public key> ipc-build generate "Acme Bakery"
Acceptance tests built into the process
A box is finished only when every line passes.
| # | Test | Expected |
|---|---|---|
| 1 | Tunnel up | Recent handshake, growing transfer counters |
| 2 | Server reachable | Ping replies from the server address |
| 3 | Cameras get addresses | DHCP leases in .100 to .199 |
| 4 | Viewer reaches camera | Video shows over the VPN |
| 5 | No internet for cameras | Fails by design |
| 6 | Reboot test | Tunnel back within 2 minutes |
| 7 | Power-loss test | Starts by itself, tunnel returns in about 2 minutes |
| 8 | Router-loss test | Tunnel recovers by itself |
| 9 | Labels and record | Build record filled in |
Take control of your camera networks
One payment of €40. One year of updates included.
Buy now – €40 See what’s included