Skip to content

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. 1

    Preflight & hardware

    Checks Linux, Docker ≥ 24, Compose ≥ 2.20 and CPU, memory and disk before changing anything.

  2. 2

    Licence

    Verifies your signed licence file — offline.

  3. 3

    Signed image

    Pulls the SPADE image by digest and verifies its signature.

  4. 4

    Database & storage

    Starts PostgreSQL 17 and the bundled S3-compatible store, then runs migrations.

  5. 5

    First administrator

    Prints a one-time setup link for your first admin.

  6. 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 and recommended hardware for a self-hosted installation
Minimum · pilot (≤ 50 users, ≤ 10 sites) Recommended (≤ 200 users, ≤ 40 sites)
CPU 4 vCPU x86_648 vCPU x86_64
Memory 8 GiB16 GiB
Disk 100 GiB SSD500 GiB SSD
OS Ubuntu 22.04/24.04 LTS, Debian 12, RHEL/Rocky 9Same
Software Docker Engine ≥ 24, Compose ≥ 2.20Same
Network Inbound HTTPS 443 so field phones can syncSame

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.