Self-hosting
Your servers.The same SPADE.
One container, PostgreSQL and S3-compatible storage. Installed in under a day, upgraded with one command.
Footprint
Three parts.Nothing else to run.
One Linux VM runs the whole installation. Field phones sync over HTTPS through your firewall or reverse proxy.
Phones & browsers
Offline app · web
One Linux VM · Docker Compose
-
SPADE container
API, web app and background jobs
-
PostgreSQL 17
All data, with row-level security
-
S3-compatible storage
Photos and files · Garage bundled
Install
Installed in under a day.
One script checks the machine, verifies your licence and the signed image, starts everything and hands you a setup link.
./install.sh --licence <file> --public-url <https url># then: ./upgrade.sh X.Y.Z · ./backup.sh · ./restore.sh
- 1
Preflight & hardware
Checks Linux, Docker ≥ 24, Compose ≥ 2.20 and CPU, memory and disk before changing anything.
- 2
Licence
Verifies your signed licence file — offline.
- 3
Signed image
Pulls the SPADE image by digest and verifies its signature.
- 4
Database & storage
Starts PostgreSQL 17 and the bundled S3-compatible store, then runs migrations.
- 5
First administrator
Prints a one-time setup link for your first admin.
- 6
Backups & health
Schedules nightly backups, kept for 14 days, and prints a health report.
Upgrades
One command to upgrade.One to roll back.
-
U/1
Backed up first
Every upgrade backs up first. If anything fails, it rolls back automatically.
-
U/2
Support window
Latest release plus two prior minor lines. Older installs get a stepping path.
-
U/3
Phones stay compatible
The mobile app negotiates API compatibility, so field users keep working across server upgrades.
Licences
Verified offline.Never in the field’s way.
Your licence is a signed file checked on your own server — no call home. It sets your sites and modules, and a 30-day grace period follows expiry.
- Never blocks sync, sign-in, photos or reading
- Field capture already in progress always continues
- Your admin is reminded 30, 7 and 1 day before expiry
Licence
Valid- Deployment
- Self-hosted
- Field users
- Unlimited
- Sites
- 6 of 20
- Modules
- core · materials · equipment · budgets · reporting · sso
- Signature
- Ed25519 · verified offline
- Valid
- Grace · 30 days
- Expired
Expired stops config publishing, imports, new users and reports — never field capture.
Same product
Everything Cloud has,on your servers.
-
M/1
Single sign-on
Microsoft Entra ID or Google Workspace, configured per organisation — exactly as on SPADE Cloud.
-
M/2
Move with IDs intact
Export, then import on the other side with every ID preserved. Rehearse first.
-
M/3
One mobile app
Users enter your organisation code and the app finds your server — Cloud or self-hosted.
Minimum hardware
Sized for a pilot.Ready to grow.
The installer checks these before it changes anything.
| Minimum · pilot (≤ 50 users, ≤ 10 sites) | Recommended (≤ 200 users, ≤ 40 sites) | |
|---|---|---|
| CPU | 4 vCPU x86_64 | 8 vCPU x86_64 |
| Memory | 8 GiB | 16 GiB |
| Disk | 100 GiB SSD | 500 GiB SSD |
| OS | Ubuntu 22.04/24.04 LTS, Debian 12, RHEL/Rocky 9 | Same |
| Software | Docker Engine ≥ 24, Compose ≥ 2.20 | Same |
| Network | Inbound HTTPS 443 so field phones can sync | Same |
Get started
Start your first site today, free for 15 days.
Create your workspace on your industry’s template in about five minutes. Card required — you’re not charged until day 16, and you can cancel before then.