Written by 18:20 Linux Views: 4

Actual Budget auf NAS installieren – Anleitung für Synology & Ugreen

Actual Budget mit großem Schriftzug „AUF DEM NAS INSTALLIEREN“, NAS-Gehäuse und Dashboard auf einem Monitor.

Actual Budget ist die kostenlose, quelloffene Alternative zu teuren Budget-Apps wie YNAB – und mit Docker läuft sie in wenigen Minuten auf deinem eigenen NAS. In dieser Anleitung zeige ich dir Schritt für Schritt, wie du Actual Budget auf einem Synology– oder Ugreen-NAS installierst, alle Daten dauerhaft unter /volume1/docker/ speicherst und die typischen Stolperfallen (Berechtigungen und HTTPS) vermeidest.

Was ist Actual Budget?

Actual Budget ist eine selbst-gehostete App zur Verwaltung deiner privaten Finanzen. Sie arbeitet nach der bewährten Umschlagmethode: Du teilst dein Einkommen im Voraus auf Kategorien auf, gibst also jedem Euro eine Aufgabe. So behältst du den Überblick, statt am Monatsende überrascht zu sein.

Im Gegensatz zu kommerziellen Diensten wie YNAB ist Actual Budget kostenlos, quelloffen und läuft komplett auf deiner eigenen Hardware. Deine sensiblen Finanzdaten verlassen dein Zuhause nicht.

Wichtig vorab: Actual Budget benötigt HTTPS

Das ist der entscheidende Punkt, der viele zum Verzweifeln bringt: Actual Budget funktioniert nicht über eine reine HTTP-Verbindung. Rufst du die App über http://NAS-IP:PORT auf, erscheint der Fehler „Actual benötigt Zugriff auf SharedArrayBuffer” und die App startet nicht.

Der Grund ist eine Sicherheitsvorgabe moderner Browser: Die von Actual benötigte Funktion SharedArrayBuffer ist nur in einem sicheren Kontext verfügbar – also über HTTPS oder über localhost. Das ist kein Fehler von Actual, sondern eine bewusste Browser-Regel.

Für den produktiven Betrieb (vor allem für den Zugriff vom Handy oder anderen Geräten) brauchst du daher einen Reverse Proxy mit HTTPS – zum Beispiel den Nginx Proxy Manager oder den in Synology integrierten Reverse Proxy. Wie das geht, habe ich in separaten Anleitungen erklärt. Die Installation selbst zeigen wir hier zunächst über die lokale IP; den HTTPS-Zugriff richtest du anschließend über deinen Reverse Proxy ein.

Schritt 1: Ordner im Datei-Manager anlegen

Damit deine Budgetdaten dauerhaft erhalten bleiben – auch nach einem Update des Containers – legen wir zuerst einen Ordner für die Daten an. Nutze dafür die grafische Oberfläche (File Station bei Synology, Datei-Manager bei Ugreen), nicht das Terminal.

  1. Öffne die File Station (Synology) bzw. den Datei-Manager (Ugreen)
  2. Navigiere in den freigegebenen Ordner docker unter volume1
  3. Erstelle einen neuen Ordner: actual-budget
  4. Erstelle darin einen Unterordner: data

Die Struktur sieht danach so aus:

/volume1/docker/actual-budget/
└── data/          ← Hier speichert Actual Budget alle Daten dauerhaft

Schritt 2: Docker Compose für Synology

Öffne den Container Manager, lege ein neues Projekt mit dem Namen actual-budget an und wähle als Pfad /volume1/docker/actual-budget. Füge dann die folgende Compose-Datei ein.

Über die Zeile user stellen wir sicher, dass der Container mit den richtigen Berechtigungen auf den Datenordner zugreift. Bei Synology ist das in der Regel UID 1026 und GID 100 (Gruppe users).

services:

  actual-budget:
    image: actualbudget/actual-server:latest
    container_name: actual-budget
    restart: unless-stopped
    user: "1026:100"                     # Synology Standard-UID:GID
    ports:
      - "5006:5006"                      # Bei Bedarf erste Zahl aendern
    environment:
      - TZ=Europe/Berlin
    volumes:
      - /volume1/docker/actual-budget/data:/data
    networks:
      - actual_net

networks:
  actual_net:
    driver: bridge

Schritt 2 (Alternative): Docker Compose für Ugreen

Auf dem Ugreen NAS ist die Compose nahezu identisch – nur die UID und GID unterscheiden sich. Ugreen nutzt üblicherweise UID 1000 und GID 10.

services:

  actual-budget:
    image: actualbudget/actual-server:latest
    container_name: actual-budget
    restart: unless-stopped
    user: "1000:10"                      # Ugreen Standard-UID:GID
    ports:
      - "5006:5006"
    environment:
      - TZ=Europe/Berlin
    volumes:
      - /volume1/docker/actual-budget/data:/data
    networks:
      - actual_net

networks:
  actual_net:
    driver: bridge

UID und GID im Überblick

SystemUIDGIDCompose-Zeile
Synology1026100user: "1026:100"
Ugreen100010user: "1000:10"

💡 Tipp: Die genaue UID deines Benutzers findest du per SSH mit dem Befehl id DEINBENUTZERNAME. Falls du mehrere Benutzer angelegt hast, kann die Nummer von den Standardwerten abweichen.

Die Compose-Datei erklärt

ZeileBedeutung
imageDas offizielle Actual-Server-Image vom Actual-Budget-Projekt
userLegt fest, mit welcher UID:GID der Container läuft – verhindert Berechtigungsfehler beim Zugriff auf den Datenordner
ports: 5006:5006Actual läuft auf Port 5006. Ist der Port bei dir belegt, ändere die erste Zahl (z.B. 5556:5006)
TZSetzt die Zeitzone, damit Datumsangaben korrekt sind
volumesVerbindet deinen NAS-Ordner mit dem Datenordner im Container – so bleiben alle Budgetdaten dauerhaft gespeichert
restart: unless-stoppedDer Container startet nach einem Neustart des NAS automatisch wieder

Übrigens: Actual Budget benötigt keine separate Datenbank. Alle Daten werden in einem eigenen, dateibasierten Format im data-Ordner gespeichert. Deshalb kommt die Compose ohne zusätzlichen Datenbank-Container aus und bleibt schön schlank.

Schritt 3: Container starten und ersten Zugriff einrichten

Klicke im Container Manager auf Fertig bzw. Anwenden. Der Container wird heruntergeladen und gestartet. Sobald er läuft, rufst du Actual Budget zum ersten Test lokal auf:

http://NAS-IP:5006

# Beispiel:
http://192.168.178.108:5006

Beim ersten Aufruf legst du ein Server-Passwort fest. Wichtig zu wissen: Dieses Passwort schützt den Zugang zu deiner gesamten Actual-Instanz. Es ist nicht dasselbe wie das optionale Verschlüsselungspasswort für eine einzelne Budgetdatei.

⚠️ Achtung: Spätestens beim Anlegen des ersten Budgets zeigt Actual den SharedArrayBuffer-Fehler, wenn du über HTTP zugreifst. Für die dauerhafte Nutzung führt daher kein Weg an HTTPS vorbei.

Schritt 4: HTTPS über Reverse Proxy einrichten

Um Actual Budget dauerhaft und von allen Geräten nutzen zu können, richtest du einen Reverse Proxy ein, der die Verbindung per HTTPS verschlüsselt. Du hast zwei gängige Möglichkeiten.

Option A: Synology Reverse Proxy

  1. Systemsteuerung → Anmeldeportal → Erweitert → Reverse Proxy → Erstellen
  2. Quelle: HTTPS | Hostname: budget.deinedomain.de | Port: 443
  3. Ziel: HTTP | Hostname: localhost | Port: 5006
  4. Ein passendes Let’s-Encrypt-Zertifikat auswählen
  5. Speichern und über die Domain aufrufen

Option B: Nginx Proxy Manager

  • Neuen Proxy Host anlegen: Scheme http, Forward Host = NAS-IP, Forward Port 5006
  • SSL-Zertifikat per Let’s Encrypt aktivieren
  • Websockets-Unterstützung aktivieren

Anschließend rufst du Actual Budget über deine sichere Domain auf, zum Beispiel https://budget.deinedomain.de. Der SharedArrayBuffer-Fehler ist damit verschwunden und die App funktioniert auf allen Geräten – auch auf dem Handy.

Häufige Fragen (FAQ)

Ist Actual Budget wirklich kostenlos?

Ja. Actual Budget ist Open Source und beim Selbst-Hosten komplett kostenlos. Es gibt zwar einen optionalen bezahlten Cloud-Hosting-Dienst, aber wenn du es wie hier beschrieben auf deinem eigenen NAS betreibst, zahlst du nichts.

Warum bekomme ich den SharedArrayBuffer-Fehler?

Dieser Fehler erscheint, wenn du Actual Budget über eine unverschlüsselte HTTP-Verbindung aufrufst. Moderne Browser geben die benötigte Funktion nur über HTTPS oder localhost frei. Die Lösung ist ein Reverse Proxy mit HTTPS-Zertifikat.

Reicht ein VPN statt HTTPS aus?

Nein. Auch über ein VPN greifst du in der Regel per HTTP auf die lokale IP zu, und der Browser blockiert SharedArrayBuffer trotzdem. Ein VPN verschlüsselt zwar den Transportweg, ändert aber nichts am Protokoll, das der Browser prüft. Für Actual Budget brauchst du echtes HTTPS.

Ich bekomme einen „Permission denied”-Fehler – was tun?

Das ist ein Berechtigungsproblem. Stelle sicher, dass die user-Zeile in der Compose die richtige UID und GID für dein System enthält (Synology: 1026:100, Ugreen: 1000:10). Prüfe außerdem, ob der Datenordner dem entsprechenden Benutzer gehört. Am zuverlässigsten legst du den Ordner über den grafischen Datei-Manager an, nicht per Terminal.

Kann ich meine Bank verbinden?

Ja. Für europäische Banken funktioniert die automatische Anbindung über den Dienst GoCardless. Alternativ importierst du deine Umsätze als CSV-Datei oder trägst sie manuell ein. Der manuelle Weg und der CSV-Import sind dabei die datenschutzfreundlichsten Varianten, da keine Daten an Dritte gehen.

Bleiben meine Daten bei einem Update erhalten?

Ja, sofern du den data-Ordner wie beschrieben als Volume eingebunden hast. Alle Budgetdaten liegen dann dauerhaft auf deinem NAS unter /volume1/docker/actual-budget/data und überstehen Updates des Containers problemlos. Ein regelmäßiges Backup dieses Ordners ist trotzdem empfehlenswert.

Fazit

Mit Actual Budget holst du dir eine mächtige, kostenlose Finanzverwaltung auf dein eigenes NAS – ganz ohne Abo und ohne dass deine Daten in einer fremden Cloud landen. Die Installation über Docker ist schnell erledigt, egal ob du ein Synology- oder Ugreen-NAS nutzt.

Die beiden wichtigsten Punkte, die du dir merken solltest: Achte auf die richtige UID und GID für dein System, und richte unbedingt HTTPS über einen Reverse Proxy ein – ohne das läuft Actual Budget nicht dauerhaft.

(Visited 4 times, 4 visits today)
Close