Documentation menu

Docs › Installation guide

Requirements

InfraMole self-hosted runs as a small set of Docker containers: the web application, PostgreSQL, Caddy (HTTPS), a scheduler and a nightly backup job.

Supported platforms

Platform Use Guide
Linux (Ubuntu 22.04+, Debian 12+, RHEL / Rocky / AlmaLinux 9+) with Docker Engine Recommended for production Install on Linux
Windows 10 / 11 with Docker Desktop (WSL 2) Evaluation and small teams Install on Windows
Windows Server Run a Linux VM (Hyper-V) and follow the Linux guide Install on Windows
macOS with Docker Desktop or OrbStack Evaluation Install on macOS

x86-64 and ARM64 (for example a Raspberry Pi 4/5 with 4 GB or more) are both supported.

Hardware

Size CPU RAM Disk
Up to ~100 servers 1–2 vCPU 2 GB 10 GB
Up to ~500 servers 2–4 vCPU 4 GB 20 GB

Add room for backups (./backups, 14 days by default). Agent reports are small (about 10 KB) and raw reports are kept for 7 days only.

Network

  • A DNS name for the server (for example inframole.example.com) with an A / AAAA record pointing at it.
  • Ports 80 and 443 reachable from the internet, so Caddy can obtain a free Let's Encrypt certificate. Only these two ports are published.
  • Agents need outbound HTTPS (443) to that name. Nothing connects to the agents.
  • Optional: outbound SMTP (465 or 587) for emails, and outbound HTTPS to Azure / AWS / Cloudflare APIs if you use integrations.

Internal-only instances

Let's Encrypt must reach ports 80/443 to issue the certificate. If the server must stay internal, use Caddy's internal certificate authority instead (see Local trial): browsers will warn until you trust that authority on your machines.

Software

  • Docker Engine 24+ with the Compose v2 plugin (docker compose), or Docker Desktop 4.x.
  • curl (or PowerShell on Windows) to download the release.
  • Optional: an SMTP account for verification, password reset and invitation emails.