Skip to content

Operator Guide

This guide is for the technical self-hoster — comfortable with a shell, environment variables, reverse proxies, and networking. Every recipe here is copy-pasteable and states its assumptions.

This section folds in Loombre's operator-facing documentation as it already exists — the pages below are implementation-verified and organized here, not rewritten. If you're looking for the settings screens instead, see the Admin Guide; if you're looking for how to use Loombre, see the User Guide.

Installing

Installation itself lives in its own top-level section: Install — platform chooser, system requirements per hardware tier, and the unsigned-install trust story (checksums, minisign, GitHub attestation, cosign).

Remote access & TLS

Three first-class, mutually-exclusive paths — pick the one matching your situation:

  • Reverse proxy (recommended if you already run one) — Caddy/nginx/Traefik recipes, the real requirements (WebSocket upgrade, no buffering on the streaming endpoints, ?token= log redaction, upload body-size limits), and LOOMBRE_TRUST_PROXY / LOOMBRE_CORS_ORIGINS.
  • Built-in ACME (LOOMBRE_TLS_MODE=acme) — for direct-exposure installs with no reverse proxy: automatic Let's Encrypt certificates via HTTP-01 or DNS-01, the port 80/443 privilege story, and renewal mechanics.
  • LAN-only, no TLS — no extra configuration beyond the defaults; see the final section of Reverse proxy.

Backups, restore & data export

  • Backups & restore — what to actually back up (and explicitly what not to), both for the embedded and an external PostgreSQL instance, plus a restore drill you should run before you need it for real.

Separately from a database-level backup, Loombre has a built-in data export/import feature (GET /export, POST /import) for moving your catalog, libraries, and per-user watch progress between instances as an open JSON archive — POST /import requires an administrator session. This is also what the setup wizard's restore step uses. Full request/response detail is in the API Reference.

External PostgreSQL

  • External PostgreSQL — running Loombre against a PostgreSQL instance you already operate, instead of the bundled embedded one.

systemd

The loombre command-line tool

  • The loombre command-line tool — read-only environment checks (doctor, paths) plus the one privileged operation it exposes: admin reset-pin <username>, the recovery procedure for a forgotten restricted-content PIN. Server-local by design — there is no equivalent over HTTP.

Updating & verifying releases

  • Updating Loombre — exactly what the built-in update checker does and does not send over the network (nothing is downloaded or applied automatically), and how to verify a release you've downloaded (checksums, minisign, GitHub attestation).

Environment variable reference

  • Environment variable reference — every bootstrap/lockout-boundary variable with no settings-screen equivalent, plus the environment-pin variable for every admin-editable setting that has one. Generated automatically from Loombre's own settings list, every time this site is built. Secrets and other pure-infrastructure variables outside the settings list itself (POSTGRES_PASSWORD, LOOMBRE_JWT_SECRET) stay documented in installers/docker/loombre.env.example, linked from that page.

Tier-0 hardware

Loombre is explicitly designed and performance-budgeted for Tier-0 hardware (a 4-core, ~2GHz machine with 4GB RAM — an Intel N100 mini PC or a Raspberry Pi 5 are the reference devices) — not a degraded experience, a first-class one. The enforced budgets (server idle memory, endpoint response time, scan throughput) are listed in Performance budgets, and docs/ops/t0-audit-runbook.md is the runbook used to physically verify them against real hardware. If you're deploying to Tier-0 hardware, that runbook and docs/install/index.md's tier table are the two documents worth reading before you start.

Released under the AGPL-3.0-only license. No telemetry, ever.