Verwalino · Docker Compose
Self-host
Verwalino runs with Docker Compose and PostgreSQL on your server or laptop. The steps below apply to the current state on GitHub.
Prerequisites
Linux or macOS with Bash, OpenSSL, Docker Engine 24 or later (or Docker Desktop) and Docker Compose 2.24 or later. You do not need Python, Node or a separate proxy for the first installation.
Three commands from the checkout
bash scripts/self-host.sh initbash scripts/self-host.sh startbash scripts/self-host.sh admin --org "Muster Hausverwaltung" --email admin@example.org What init creates
init creates five different random 256-bit keys in the private file .env.selfhost (file mode 0600). Back up this file; an existing one is not overwritten. start builds the image from the checkout, waits for the database, runs the migrations and starts the app, locally at http://127.0.0.1:18080.
The first administrator
The third command creates the organization and its administrator and asks for the password twice without showing it. There is no default password, and existing users are left as they are. On an empty installation, start can instead print a /setup address and, separately, a one-time token valid for 24 hours. This browser route has not been released yet.
HTTPS with Caddy
For an installation reachable from the internet, choose HTTPS when you run init: --https verwaltung.example.org. The domain must point to the server, and ports 80 and 443 must be free. Caddy redirects HTTP to HTTPS and gets the certificates. Sign in through the HTTPS address and don’t expose the local HTTP port to the internet. Check that the certificate has been issued and the HTTPS address is reachable.
Back up before changes
Before an upgrade, run bash scripts/self-host.sh backup to archive the database and documents. .env.selfhost is not included; keep that file separately and encrypted. To restore, stop the app, load the archive with restore and start it again. Try this once on another machine so you know it works. There is no update command yet, and an older image does not roll back the database schema.
What this installation does not yet support
In the installation described here, email sending (SMTP), the optional document analysis and automatic invoice OCR are turned off; you enter invoices by hand. The signed public image is not published yet; start builds it from the checkout. Installation on a fresh server and use with a real domain and TLS are not yet cleared for production.
Planned releases
The source code is on GitHub under AGPL-3.0. Backup, restore and the doctor command are in the checkout. These parts are still missing or not yet released:
- One-line installer
- Signed multi-architecture image on GHCR
- Updates with rollback
- First-run setup in the browser
- Automated installation tests every night
Full guide in the repository
DEPLOY.md in the public GitHub repository contains the full guide.