Grocy – Ein ERP-System für Vorräte

Wer kennt das nicht, zu Corona musste man sich einen Vorrat anschaffen, damit man die zwei Wochen Quarantäne übersteht. Jetzt vergammelt alles, weil man nicht im Blick hat, wann was abläuft. Grocy hilft einem dabei Überblick zu behalten welche Lebensmittel vorhanden sind und welche bald schlecht werden.

Grocy gibt es als Windows Store App und bietet so weit alles im Interface, was auch die Webanwendung bietet. Das größte Problem wird hier sein, dass man Android Apps nicht verwenden kann, da dafür zwingend ein always-on Webserver mit Grocy benötigt wird. Und diesen installieren wir nun über Docker.

Der Webserver wird allerdings nur im LAN oder per VPN verwendet werden können, da hier in der Anleitung keine Portweiterleitung eingerichtet wird. Solltet ihr dies wollen, sollte ein Reverse Proxy die erste Wahl sein. Dazu könnt ihr in meinem Post Nginx Proxy Manager installieren und verwenden reinschauen und die Docker-Compose Datei für Grocy von dort verwenden.

Installation von Grocy

Wie immer ist die Voraussetzung, dass Docker installiert ist. Meine Anleitung basiert auf einer Raspberry Pi Installation.

  1. Eine Verbindung mit dem Raspberry Pi herstellen und mit den Anmeldedaten anmelden.
  2. Im Home-Verzeichnis erstellt man nun ein neues Verzeichnis mit mkdir grocy.
  3. Mit cd grocy wird das Verzeichnis gewechselt und für die persistenten Konfigurationsdaten ein weiteres Verzeichnis mit mkdir config erstellt.
  4. Soweit passiert, kann mit nano docker-compose.yml der Editor geöffnet und folgende Eintragung getätigt werden:
version: "2.1"
services:
  grocy:
    image: lscr.io/linuxserver/grocy:latest
    container_name: grocy
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    volumes:
      - ./config/:/config
    ports:
      - 9283:80
    restart: unless-stopped

Wir benutzen hier ein Linuxserver Docker Image, da dieses sehr einfach verwaltbar ist und auch ARM Images vorhanden sind.

  1. Die Datei wird mit [STRG]+[O] gespeichert und schließen mit [STRG]+[X] den Editor.
  2. Als Letztes wird noch ein schmackiges sudo docker-compose up -d abgefeuert und nach ein wenig warten läuft Grocy als Docker Container Daemon.

Im Webbrowser kann man nun Grocy unter https://{IP-vom-Pi}:9283 aufrufen. Die initialen Anmeldedaten sind als Username und Passwort “admin”.

Zum späteren Aktualisieren des Containers wird einfach im Verzeichnis “grocy” die Befehlszeile sudo docker-compose.yml pull und anschließend ein sudo docker-compose.yml up -d ausgeführt.

Konfiguration von Grocy

Prinzipiell ist Grocy jetzt verwendbar. Zuerst sollte allerdings mindestens das Adminpasswort über den Benutzer geändert werden.

Admin Passwort ändern.

Und wer genau hinschaut wird feststellen, das Dollar als Währung angezeigt wird und nicht Euro. Das ist vor allem dann wichtig, wenn auch die Preise für die Lebensmittel eintragen werden sollen. Somit gibt es eine Übersicht über den Preisverlauf, aber auch wieviel Warenwert im Vorrat steht.

Dazu müssen Änderungen in der Config Datei von Grocy unternommen werden. Es wird einmal in der Bash der Befehl nano config/data/config.php ausgeführt und die folgenden Parameter in der Datei gesucht und abgeändert.

Setting('DEFAULT_LOCALE', 'en'); in Setting('DEFAULT_LOCALE', 'de'); ändern, somit ist die Standardlokalisierung auf Deutsch eingestellt.
Setting('CURRENCY', 'USD'); in Setting('CURRENCY', 'EUR'); umändern, damit die Währung Euro anzeigt.

Wenn ihr weiter runterscrollt wird man sehen, dass noch viele Attribute eingestellt werden können. Auch LDAP Integration und Labelprinter Konfiguration ist möglich. Was noch interessant sein kann sind folgende Parameter:

// Feature flags
// Here you can disable the parts which you don't need to have a less cluttered UI
// (set the setting to "false" to disable the corresponding part, which should be self explanatory)
Setting('FEATURE_FLAG_STOCK', true);
Setting('FEATURE_FLAG_SHOPPINGLIST', true);
Setting('FEATURE_FLAG_RECIPES', true);
Setting('FEATURE_FLAG_CHORES', true);
Setting('FEATURE_FLAG_TASKS', true);
Setting('FEATURE_FLAG_BATTERIES', true);
Setting('FEATURE_FLAG_EQUIPMENT', true);
Setting('FEATURE_FLAG_CALENDAR', true);
Setting('FEATURE_FLAG_LABEL_PRINTER', false);

Dort können jeweils einzelne Funktionen auf “false” gesetzt werden, womit diese auf dem Webinterface als Kategorie nicht mehr angezeigt werden. Da müsst ihr allerdings entscheiden, welche Funktionen ihr nicht verwendet.

Mit [STRG]+[O] und [STRG]+[X] speichert ihr die Config Datei und schließt anschließend den Editor. Mit dem Befehl sudo docker container restart grocy wird Grocy neugestartet, damit die Änderungen übernommen werden.

Verwendung von Grocy

Benutzerverwaltung

Zuerst ist es wichtig, nicht den Admin als Standardbenutzer zu verwenden. Erstellt also über Schraubenschlüssel > Benutzer verwalten einen neuen Benutzer für euch.

Benutzer verwalten

Habt ihr das, rate ich euch noch die Berechtigung des Benutzers anzupassen, in dem man auf das Schloss neben dem Benutzernamen klickt.

Benutzerberechtigung verwalten

In der Liste sollte zuerst “Alle Berechtigungen” entfernt werden und dann anschließend die Kategorien, worin gearbeitet wird, wieder berechtigt werden. Ob die Stammdaten bearbeitet werden dürfen oder nicht, liegt in der Abwägung bei jedem Benutzer. Können die Stammdaten nicht bearbeitet werden, kann der Benutzer auch keine neuen Produkte hinzufügen und muss dafür einen berechtigten Benutzer bitten. Bspw. dürfen die Eltern die Stammdaten bearbeiten, die Kinder dürfen dies allerdings nicht.
Benutzer erstellen und bearbeiten sollte nur der Admin können.

Berechtigungen für einen normalen Anwender

Über “Speichern” einmal bestätigen und anschließend kann man sich mit dem Benutzer auf der Webseite anmelden.

Stammdaten erstellen und aktualisieren

Wichtig ist die Standorte, Geschäfte und Mengeneinheiten hinzuzufügen bevor ein Produkt erstellt wird. Als Beispiel wie dies bei mir aussieht:

Wenn dies passiert ist, kann auch ein Produkt hinzugefügt werden. Als Beispiel wie so eine Liste aussehen könnte:

Beispiel Stammdaten Produkte

Das sieht nach einer Menge Arbeit aus.
Stammdaten zu erstellen sind immer eine Menge Arbeit, ich habe aber keine davon 100% händisch gemacht.
Wie das? Die Android App Grocy hilft dort immens. Sie ist ebenfalls mit einer Produktsuchmaschine verbunden und kann an Hand des Barcodes recht gut die Produkte erkennen und füllt bereits Namen und Barcode vor aus. Man selber muss nur noch Geschäft, Mengeneinheit und Standort hinzufügen.

Produktgruppen können bei der Sortierung helfen, sind aber nicht zwingend erforderlich.

Falls ihr die Batterie Kategorie verwenden wollt, worin es darum geht, dass ihr sehen könnt wie oft und wann Akkus geladen wurden, dann habe ich noch einen Tipp für euch. Wenn man auf Stammdaten > Benutzerfelder geht, kann man benutzerdefinierte Felder für Produkte oder auch Batterien/Akkus deklarieren. Mir fehlte zum Beispiel ein Feld worin man das Kaufdatum des Akkus ablesen konnte. Somit folgendes Feld konfiguriert:

Benutzerfeld erstellen

Und schon hatten meine Akkus ein Gekauft-Feld in der Datenbank.

Weiteres kommt mit der Verwendung von Grocy, es kann aber ein sehr mächtiges Tool sein. Und wenn ihr Kategorien nicht braucht, dann können diese, wie beschrieben, auch einfach deaktiviert werden.

Android App mit Grocy verbinden

Zunächst muss man sich Grocy für Android herunterladen. Ihr werdet beim Öffnen der Anwendung gefragt, welche Art Server verwendet wird. Wir wählen natürlich “Eigener Server” aus.

Android App Grocy

Anschließend werdet ihr gebeten einen QR Code mit dem API Key zu scannen. Diesen generieren wir nun über die Webseite unter Schraubenschlüssel > API Schlüssel verwalten. Dort klickt man nun noch auf “Hinzufügen” und ein API Schlüssel wird erstellt. Achtet darauf, dass ihr mit dem Benutzer auf der Weboberfläche angemeldet seid, mit dem ihr euch auch am Smartphone anmelden wollt. Über das QR Symbol wird nun der QR Code angezeigt und man kann diesen mit der Handy App scannen und ist anschließend mit dem Server verbunden.

API QR Code anzeigen

Einen nicht mehr benötigten API Schlüssel könnt ihr dann nur als Admin löschen.

Mit der Android App ist die Verwaltung sehr einfach und integrierte Hilfetext helfen schnell bei der Verwendung der App. Leider sind noch nicht alle Funktion der Webanwendung auch in der App vorhanden, für den Verbrauch, Einkauf und die Inventur, also das Wichtigste, passt es. In der App kann man zum Beispiel auch noch schnell ein Geschäft in den Stammdaten hinzufügen.

3 Gedanken zu “Grocy – Ein ERP-System für Vorräte

  1. Pingback: Nginx Proxy Manager installieren und verwenden | LierschIT

  2. Hallo, ich habe da ein Problem. Ich kann die Android-App nicht mit dem PC als eigenen Server verbinden. Es kommt immer ein Fehler:
    com.android.vollay.NoConnectionError:java.net.ConnectException: Failed to connect to localhost/127.0.01:4010
    Würde mich über Hilfe freuen.

    • Hallo Paul,

      localhost/127.0.01:4010 wird im Zweifel auch nicht funktionieren, weil du damit auf dein eigenes Smartphone zugreifen tust. Du muss die IP Adresse des PCs eingeben, also bspw. 192.168.1.5 oder was auch immer deinem Computer per DHCP vom Router zugewiesen wird oder du statisch vergeben hast, und den entsprechenden Port wo die Installation horchen tut. Außerdem musst du sicherstellen, dass der Port auch in der Firewall vom Computer freigegeben ist, ansonsten wird der ankommende Netzwerkverkehr dort blockiert.

      Viele Grüße
      LierschIT

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert