Anleitungen 1/10

Installation

Docker Compose, Umgebungsvariablen, erster Administrator und Lizenz.

Diese Anleitung gilt für den Betrieb auf Ihrem eigenen Server. Nutzen Sie Fulfillment Companion als Service, übernehmen wir die Installation und Sie beginnen direkt mit Wawi-API verbinden.

Fulfillment Companion läuft als Docker-Anwendung. Ein Image enthält zwei Prozesse: web liefert die Oberfläche aus, worker führt die geplanten Abgleiche aus. Alle Daten liegen in einer SQLite-Datenbank im Ordner data neben der compose.yaml.

Voraussetzungen

  • Ein Linux-Server mit Docker und dem Docker-Compose-Plugin.
  • Netzwerkzugriff vom Server auf die REST-API Ihrer JTL-Wawi.
  • Die Dateien compose.yaml und .env.example sowie Ihre Lizenzdaten von uns.

1. Verzeichnis vorbereiten

Legen Sie compose.yaml und .env.example in ein eigenes Verzeichnis, zum Beispiel /opt/fulfillment-companion, und erstellen Sie dort die Konfiguration und den Datenordner:

cd /opt/fulfillment-companion
cp .env.example .env
mkdir -p data/inbound

2. Umgebungsvariablen in der .env setzen

Öffnen Sie die .env und passen Sie mindestens diese Werte an:

  • DJANGO_SECRET_KEY: eine lange, zufällige Zeichenkette. Sie darf nicht öffentlich werden.
  • DJANGO_ALLOWED_HOSTS: die Hostnamen, unter denen Sie die Anwendung aufrufen, kommagetrennt, zum Beispiel companion.ihre-firma.de,localhost,127.0.0.1.
  • DJANGO_DEBUG: bleibt auf False.
  • WEB_PORT: der Port auf dem Server, standardmäßig 8000.
  • SYNC_HOUR: die Stunde (0 bis 23, Zeitzone des Containers), zu der der tägliche Wawi-Abgleich läuft. Standard ist 3.
  • INBOUND_HOST_FOLDER: der Ordner auf dem Server, in den die Wareneingangs-Exporte aus JTL-Wawi abgelegt werden. Standard ist ./data/inbound. Siehe Wareneingänge.
  • WAWI_APP_ID: bleibt auf FulfillmentCompanion.

Die übrigen Werte in der Vorlage, etwa GUNICORN_WORKERS und GUNICORN_TIMEOUT, können Sie unverändert lassen.

3. Lizenz eintragen

Die Lizenz wird zur Laufzeit geprüft. Die Werte erhalten Sie von uns:

  • FC_LICENSE_ENFORCE: bleibt auf true.
  • FC_LICENSE_PUBLIC_KEY: der öffentliche Schlüssel zur Prüfung der Lizenz.
  • FC_LICENSE_RENEWAL_URL: die Adresse für die tägliche Online-Erneuerung.
  • Den Lizenzschlüssel tragen Sie entweder direkt als FC_LICENSE ein oder legen ihn als Datei data/license.txt ab. Im Container ist das der Pfad aus FC_LICENSE_FILE, standardmäßig /data/license.txt.

Die Lizenz kennt drei Zustände:

  • Gültig: voller Funktionsumfang.
  • Kulanzfrist: abgelaufen, aber noch innerhalb der Kulanzfrist. Voller Funktionsumfang, die Oberfläche zeigt einen Hinweis zur Verlängerung.
  • Nur Lesen: keine, ungültige oder abgelaufene Lizenz nach der Kulanzfrist. Sie können alle Daten ansehen und exportieren, Änderungen sind gesperrt.

4. Container starten

docker compose up -d

Der Webprozess richtet beim Start die Datenbank ein und ist danach unter http://<server>:8000 erreichbar (oder unter dem Port aus WEB_PORT). Der Worker startet, sobald der Webprozess bereit ist.

Für den Zugriff über HTTPS setzen Sie einen Reverse Proxy Ihrer Wahl vor den Webprozess.

5. Ersten Administrator anlegen

docker compose exec web python manage.py createsuperuser

Geben Sie Benutzername und Passwort ein. Melden Sie sich anschließend im Browser unter Sign in an. Nach der Anmeldung sehen Sie die Startseite Home mit Kennzahlen zu Kunden, Aufträgen, Retouren, Wareneingängen und Bestandszeilen.

Startseite nach der ersten Anmeldung
Startseite nach der ersten Anmeldung

Weitere Benutzer legen Sie danach direkt in der Anwendung an, siehe Benutzer.

Betrieb

  • Protokolle ansehen: docker compose logs -f web und docker compose logs -f worker. Der Worker gibt beim Start seinen Zeitplan aus.
  • Der Worker führt zwei Aufgaben aus: den täglichen Wawi-Abgleich zur Stunde aus SYNC_HOUR und die tägliche Erneuerung der Lizenz.
  • Den Wawi-Abgleich von Hand starten:
docker compose exec worker python manage.py run_worker --once wawi_sync

Sicherung und Wiederherstellung

Alle Daten liegen im Ordner data. Für eine konsistente Sicherung stoppen Sie die Container kurz:

docker compose stop && cp -r data data.bak && docker compose start

Zur Wiederherstellung legen Sie den gesicherten Ordner data zurück und starten mit docker compose up -d.

Als Nächstes verbinden Sie die Anwendung mit JTL-Wawi: Wawi-API verbinden.