Zum Inhalt

Grocy per Docker als Haushaltsverwaltung einrichten

Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 4 Minuten

Grocy verwaltet Vorräte, Einkaufslisten, Mindesthaltbarkeitsdaten, Rezepte und wiederkehrende Hausarbeiten im eigenen Netzwerk. Die Anwendung speichert alle Daten im eingebundenen Konfigurationsordner. Installation und erster Testbestand dauern ungefähr 20 Minuten.

Voraussetzungen

  • Ein Linux-Server mit Docker und Docker Compose
  • Der Port 9283 ist im Heimnetz frei
  • Eine feste IP-Adresse für den Docker-Server
  • Ein normaler Linux-Benutzer für die Dateirechte
  • Ein zweiter Speicherort für regelmäßige Backups

1. Benutzer- und Gruppen-ID ermitteln

Führe beide Befehle auf dem Docker-Server als der Benutzer aus, der Grocy verwalten soll:

id -u
id -g

Die erste Zahl ersetzt später <puid>, die zweite <pgid>. Übernimm die Werte genau und gehe nicht automatisch von 1000 aus.

2. Arbeitsordner anlegen

Dieser Befehl erstellt Projekt- und Konfigurationsordner und wechselt in das Projekt:

mkdir -p ~/docker/grocy/config && cd ~/docker/grocy

3. Compose-Datei anlegen

Lege im Ordner ~/docker/grocy eine Datei compose.yaml mit folgendem Inhalt an:

services:
  grocy:
    image: lscr.io/linuxserver/grocy:latest
    container_name: grocy
    restart: unless-stopped
    environment:
      PUID: "<puid>"
      PGID: "<pgid>"
      TZ: Europe/Berlin
    ports:
      - "9283:80"
    volumes:
      - ./config:/config

Ersetze <puid> und <pgid> durch die in Schritt 1 ermittelten Zahlen. Der Ordner config enthält Einstellungen, Datenbank und weitere dauerhafte Anwendungsdaten.

4. Konfiguration prüfen und starten

Prüfe im Projektordner zuerst die Compose-Syntax und die ersetzten Platzhalter:

docker compose config --quiet

Starte Grocy im Hintergrund:

docker compose up -d

Kontrolliere den Container:

docker compose ps

Bei einem Fehler zeigen die letzten Protokollzeilen meist die Ursache:

docker compose logs --tail=100 grocy

5. Standardkonto sofort ändern

Öffne im Heimnetz http://<server-ip>:9283. Ersetze <server-ip> durch die feste IP-Adresse des Docker-Servers. Melde dich bei einer frischen Installation mit Benutzername admin und Passwort admin an.

Ändere das Passwort sofort in den Benutzereinstellungen. Lege für weitere Haushaltsmitglieder eigene Konten mit den benötigten Rechten an.

Port nicht direkt ins Internet weiterleiten

Grocy enthält Angaben zu Vorräten, Gewohnheiten und Aufgaben. Nutze für Fernzugriff ein privates VPN oder einen HTTPS-Reverse-Proxy. Das Standardkonto admin/admin darf vorher keinesfalls aktiv bleiben.

6. Grundeinstellungen festlegen

Öffne die Systemeinstellungen und kontrolliere Sprache, Währung, Mengen- und Datumsformat. Lege danach mindestens einen Lagerort wie Küche sowie eine Mengeneinheit wie Stück an.

Erstelle ein ungefährliches Testprodukt, buche zwei Stück ein und danach eines aus. Prüfe, ob der Bestand auf eins sinkt und der Vorgang im Journal erscheint.

Klein anfangen

Erfasse zunächst nur Produkte, die du wirklich nachhalten möchtest. Ein überschaubarer Testbestand zeigt schnell, welche Einheiten und Lagerorte zu deinem Haushalt passen.

7. Konfigurationsordner sichern

Stoppe Grocy kurz, damit die enthaltene SQLite-Datenbank während des Backups nicht verändert wird:

docker compose stop grocy

Erstelle ein datiertes Archiv des gesamten Konfigurationsordners:

tar czf "grocy-config-$(date +%F).tar.gz" config compose.yaml

Starte Grocy danach wieder:

docker compose start grocy

Prüfe den Archivinhalt:

tar tzf "grocy-config-$(date +%F).tar.gz" | head

Kopiere das Archiv verschlüsselt auf ein zweites System. Zur Wiederherstellung stoppst du Grocy, entpackst das Archiv in ~/docker/grocy, kontrollierst PUID und PGID und startest den Container erneut.

SQLite nicht im laufenden Betrieb kopieren

Eine einfache Kopie der Datenbankdatei während eines Schreibvorgangs kann unvollständig sein. Stoppe den Container oder verwende ein Datenbankwerkzeug, das konsistente SQLite- Sicherungen unterstützt.

8. Aktualisieren und zurückkehren

Erstelle zuerst das Backup aus Schritt 7. Lade anschließend das aktuelle Image:

docker compose pull

Erstelle den Container mit unveränderter Konfiguration neu:

docker compose up -d

Öffne danach die Startseite über das Grocy-Logo, damit erforderliche Datenbankmigrationen ausgeführt werden. Prüfe Testprodukt und Journal. Bei Problemen stellst du das gesicherte config-Verzeichnis wieder her und verwendest vorübergehend den zuvor genutzten Image-Tag.

9. Typische Fehler

  • Die Seite ist nicht erreichbar: Prüfe docker compose ps und die Firewall für TCP-Port 9283.
  • Port 9283 ist belegt: Finde den Dienst mit sudo ss -ltnp | grep ':9283' oder ändere nur die linke Portnummer, zum Beispiel auf 9284:80.
  • Der Container meldet Schreibfehler: Kontrolliere <puid>, <pgid> und den Besitzer des Ordners config.
  • Nach einem Update fehlen Inhalte: Öffne zuerst die Grocy-Startseite, damit ausstehende Datenbankmigrationen laufen.
  • Anmeldung funktioniert nicht mehr: Prüfe, ob weiterhin derselbe config-Ordner eingebunden ist; lösche die Datenbank nicht.

10. Quellen und Videos

Fertig

Grocy läuft jetzt mit dauerhaftem Konfigurationsordner im Heimnetz. Melde dich über http://<server-ip>:9283 an, buche das Testprodukt erneut ein und starte den Container einmal neu. Bleiben Bestand und Journal erhalten, funktioniert die Speicherung wie vorgesehen.