Actual Budget mit Docker installieren¶
Veröffentlicht am 7. August 2026 · Geschätzte Lesezeit: 3 Minuten
Actual Budget ist eine selbst gehostete Haushaltsbuch- und Budget-Anwendung. Der Server synchronisiert deine verschlüsselten Budgetdateien zwischen Browsern und Apps; Caddy sorgt dabei für HTTPS. Die Einrichtung dauert ungefähr 20 Minuten.
Voraussetzungen
- Ein Linux-Server mit Docker und Docker Compose
- Eine Domain oder Subdomain, die auf die öffentliche IP des Servers zeigt
- Die TCP-Ports 80 und 443 sind im Router auf den Server weitergeleitet
- SSH-Zugriff und ein Benutzer mit
sudo-Rechten
1. Arbeitsordner anlegen¶
Führe die Befehle auf deinem Docker-Server aus:
sudo mkdir -p /opt/actual-budget
sudo chown -R "$USER":"$USER" /opt/actual-budget
cd /opt/actual-budget
In diesem Ordner bleiben später auch die Serverdaten erhalten.
2. Compose-Datei erstellen¶
Lege in /opt/actual-budget eine Datei namens compose.yaml an. Die
latest-Markierung steht laut Projektdokumentation für die aktuelle stabile
Veröffentlichung.
services:
actual:
image: actualbudget/actual-server:latest
container_name: actual-budget
restart: unless-stopped
volumes:
- ./data:/data
networks:
- actual-net
caddy:
image: caddy:2
container_name: actual-caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
networks:
- actual-net
networks:
actual-net:
Der Ordner ./data wird im Container als /data eingebunden. Ein neu erstellter
Container verliert dein Budget dadurch nicht.
3. HTTPS konfigurieren¶
Erstelle im selben Ordner die Datei Caddyfile. Ersetze <budget-domain> durch
deine Subdomain, zum Beispiel budget.example.de.
Caddy beschafft und erneuert das Zertifikat automatisch. Actual benötigt HTTPS,
damit außerhalb von localhost alle Funktionen sicher arbeiten.
Vorhandener Reverse Proxy
Wenn bereits Caddy, Nginx Proxy Manager oder Traefik die Ports 80 und 443 verwendet, starte keinen zweiten Caddy-Container. Verbinde Actual stattdessen mit dem bestehenden Proxy und leite dort auf Port 5006 des Containers weiter.
4. Actual starten¶
Starte den Stack im Ordner /opt/actual-budget:
Kontrolliere, ob beide Container laufen:
Öffne danach https://<budget-domain> im Browser. Ersetze <budget-domain> durch
die zuvor verwendete Subdomain.
5. Server absichern und Budget anlegen¶
Wähle auf der Startseite Set password und vergib ein langes, einmaliges Server-Passwort. Lege anschließend ein neues Budget an oder importiere eine vorhandene Actual-Datei.
Keine Finanzdaten ungeschützt veröffentlichen
Verwende Actual nicht über eine unverschlüsselte http://-Adresse im
Internet. Nutze HTTPS, ein starkes Server-Passwort und gib die Serveradresse
nur an Personen weiter, die Zugriff erhalten sollen.
Prüfe das Zertifikat von der Kommandozeile aus. Ersetze <budget-domain>:
Eine HTTP-Antwort ohne Zertifikatswarnung bestätigt, dass HTTPS erreichbar ist.
6. Budget und Serverdaten sichern¶
Erstelle zuerst in Actual ein übertragbares Budget-Backup: Öffne das Budget, wähle More, dann Settings und im Bereich Export die Schaltfläche Export Data. Lade die Actual-ZIP-Datei auf deinen Computer und bewahre sie verschlüsselt auf.
Zusätzlich kannst du den gesamten Serverstand sichern. Stoppe dafür Actual kurz:
Lege den Zielordner an, falls er noch nicht vorhanden ist:
Erstelle auf dem Server ein datiertes Archiv:
sudo tar -czf "/var/backups/actual-budget-$(date +%F).tar.gz" -C /opt/actual-budget data Caddyfile compose.yaml
Starte Actual wieder:
Für den einfachen Rückweg importierst du die gespeicherte Actual-ZIP-Datei auf der Dateiauswahl über Import file und Actual. Das Serverarchiv dient als zusätzliche Komplettsicherung.
7. Aktualisieren und Fehler finden¶
Erstelle vor jedem Update ein Backup. Aktualisiere dann beide Images:
Zeige bei Problemen die letzten Meldungen an:
- Caddy erhält kein Zertifikat: DNS-Eintrag sowie Weiterleitungen für 80 und 443 prüfen.
- 502 Bad Gateway: Prüfen, ob
actualundcaddyim Netzwerkactual-netstehen. - Anmeldung schlägt fehl: Server-Passwort und richtige HTTPS-Adresse prüfen.
- Budget nach Import nicht ladbar: Actual aktualisieren und das Backup danach
erneut importieren; ein Backup aus
nightlykann neuer alslatestsein.
8. Quellen und Video¶
- Offizielle Docker-Anleitung von Actual Budget
- Offizielle Hinweise zu HTTPS
- Offizielle Backup-Anleitung
- Offizielle Wiederherstellung
- Video: Actual Budget mit Docker betreiben
Fertig¶
Actual Budget läuft jetzt mit dauerhaft gespeicherten Daten hinter HTTPS. Lege zum Test eine Kategorie und eine Buchung an, öffne die Seite danach in einem zweiten Browser und prüfe, ob das Budget nach der Anmeldung synchron erscheint.