Install
Budvo ships as one image, git.ronniie.com/nulldaily/budvo:latest, for 64-bit Intel and ARM machines. It listens on port 8484 and keeps everything in /data.
With Docker Compose
Make a folder for Budvo (for example ~/budvo), save this as docker-compose.yml inside it, and set TZ to your time zone so due dates and paydays land on the right day.
services: budvo: image: git.ronniie.com/nulldaily/budvo:latest container_name: budvo restart: unless-stopped ports: - "8484:8484" volumes: - ./data:/data # encrypted data and backups environment: TZ: America/New_York # your time zone BUDVO_TRUST_PROXY: "false" # "true" behind a tunnel or proxyThen start it and read the setup code:
docker compose up -ddocker logs budvo # prints the one-time setup codeWith docker run
The same thing in one command, run from the folder where the data directory should live:
docker run -d --name budvo --restart unless-stopped \ -p 8484:8484 \ -v "$(pwd)/data:/data" \ -e TZ=America/New_York \ -e BUDVO_TRUST_PROXY=false \ git.ronniie.com/nulldaily/budvo:latestOpen the dashboard
Go to http://<this machine's address>:8484 from any device on your network, for example http://192.168.1.20:8484 or http://localhost:8484 on the machine itself. The dashboard asks for the setup code, then walks you through first setup.
Settings
| Variable | Default | What it does |
|---|---|---|
TZ | UTC | The time zone for due dates, paydays and reminders. |
BUDVO_TRUST_PROXY | false | Set to true when Budvo sits behind Cloudflare Tunnel or a reverse proxy, so it reads the real client address and HTTPS from X-Forwarded-* headers. Leave it false otherwise. |
BUDVO_UPDATER_URL, BUDVO_UPDATER_TOKEN | not set | Turn on one-click updates through a Watchtower sidecar. See Updates and backups. |
On a NAS
Most NAS container apps (Synology Container Manager, QNAP Container Station, Unraid, TrueNAS) accept a compose file: create a project, paste the file above and point ./data at a shared folder that's included in your NAS backups. The setup code is in the container's log view.