Skip to content

Self-Hosting Overview

AnvilBase is built to be self-hosted. The same Docker Compose stack you run locally runs in production (local = cloud), and an experimental Helm chart is provided for Kubernetes. This section is for operators.

Deployment options

OptionBest forGuide
Docker Composesingle-node, small/medium deployments, simplicity, productionDocker Compose
Kubernetes (Helm)Experimental (Labs) — untested, not for productionKubernetes

Both run the identical set of services described in Architecture. For a provider-specific walk-through, see Infomaniak Public Cloud.

Before you deploy

  1. Generate strong, unique secrets for every credential (Configuration).
  2. Terminate TLS at Traefik and expose only the proxy (Network Security).
  3. Enable internal mTLS (ANVILBASE_MTLS_ENABLED=true) once you span more than one host.
  4. Encrypt the data volumes (LUKS / cloud volume encryption) — the platform DB is the crown jewel (Encryption).
  5. Set up backups (Backups & Restore) and, for tight RPO, PITR.
  6. Walk the full Production Checklist.

The operational surface

You run AnvilBase through four surfaces:

  • The console (:39004) — the human dashboard (below).
  • The CLI (anvilbase) — scripts, CI, and day-to-day ops (CLI Reference).
  • The Management API (/api/v1) — everything programmatically (Management API).
  • Health & metrics (/health, logs) — Monitoring.

The console

The web console manages all projects on the deployment from one place. Its screens:

  • Projects — create, switch between, and manage projects; per-project Overview / API / Auth / Users / Team tabs.
  • Tables — visual table editor (CRUD, schema).
  • SQL — SQL editor with results, saved queries, and history.
  • RLS — visual policy builder with the test sandbox.
  • Storage — object browser (upload/download/delete, signed URLs).
  • Functions — edge-function editor, deploy, logs.
  • Secrets — the per-project secrets vault.
  • Users — auth users, sessions, bans.
  • Queues — PGMQ inspector.
  • Webhooks — endpoints and delivery history.
  • Email — SMTP config and template editor.
  • eIDAS — EU Digital Identity configuration.
  • Audit — searchable audit log with export.
  • Backups — backup/restore.
  • Health — per-service status dashboard.

Operational day-to-day

TaskWhere
Provision a projectconsole / anvilbase projects create
Apply schema changesMigrations / anvilbase deploy
Rotate a compromised keyAPI Keys → Rotation
Take/restore a backupBackups & Restore
Upgrade the platformUpgrades
Investigate an incidentAudit Logs + Monitoring
Recover from failureDisaster Recovery
Add capacityScaling

Resource footprint

The built-in REST engine means per-project overhead is tiny (~2–5 MB), so a single modest node can host many projects. Plan capacity around Postgres connections and storage rather than per-project containers — see Scaling.

Next: Docker Compose.