Netzwerkfreigabe per CIFS-Volume als empfohlenen Weg dokumentiert.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
8e44e64930
commit
35139ab2b1
28
README.md
28
README.md
|
|
@ -31,18 +31,36 @@ cd E-Rechnung
|
|||
|
||||
### 2. Austauschordner einbinden (nur für den Stapelbetrieb)
|
||||
|
||||
Der Stapelbetrieb liest Rechnungen aus einem Ordner und schreibt die fertigen E-Rechnungen zurück. Dafür muss die Netzwerkfreigabe dem Container zugänglich gemacht werden – ein Windows-Pfad wie `\\FS01\Daten\Technik\AI` lässt sich **nicht** in der Oberfläche eintragen, sondern wird in `docker-compose.yml` gemountet:
|
||||
Der Stapelbetrieb liest Rechnungen aus einem Ordner und schreibt die fertigen E-Rechnungen zurück. Die Netzwerkfreigabe wird dafür in `docker-compose.yml` eingetragen – der Container arbeitet dann **direkt** auf ihr, es wird nichts kopiert oder synchronisiert.
|
||||
|
||||
Der Windows-Pfad wird dabei in Docker-Schreibweise angegeben: aus `\\FS01\Daten\Technik\AI` wird `//FS01/Daten/Technik/AI`.
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- /mnt/fs01/Daten/Technik/AI:/data
|
||||
datev_austausch:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: cifs
|
||||
device: "//FS01/Daten/Technik/AI"
|
||||
o: "username=DIENSTKONTO,password=GEHEIM,domain=SCITECH,uid=1000,gid=1000,vers=3.0"
|
||||
```
|
||||
|
||||
Wichtig: Binden Sie den **übergeordneten** Ordner ein, nicht einen einzelnen Unterordner. Alle Unterordner darunter sind dann in der Oberfläche frei wählbar, ohne dass diese Datei erneut angefasst werden muss.
|
||||
und beim Service:
|
||||
|
||||
Alternativ kann Docker die Freigabe selbst per CIFS einhängen – der entsprechende Block steht auskommentiert am Ende von `docker-compose.yml`. Das benötigte Konto braucht Lese- **und** Schreibrechte.
|
||||
```yaml
|
||||
volumes:
|
||||
- datev_austausch:/data
|
||||
```
|
||||
|
||||
Wird kein Ordner eingebunden, funktioniert die Einzelrechnung uneingeschränkt; der Stapelbetrieb weist dann auf den fehlenden Mount hin.
|
||||
Beides steht auskommentiert in der Datei und muss nur aktiviert und um die Zugangsdaten ergänzt werden. Das Konto braucht Lese- **und** Schreibrechte.
|
||||
|
||||
Wichtig: Binden Sie den **übergeordneten** Ordner ein, nicht einen einzelnen Unterordner. `Test1`, `Test2` und jeder künftige Unterordner sind dann in der Oberfläche frei wählbar, ohne dass diese Datei erneut angefasst werden muss.
|
||||
|
||||
Ist die Freigabe auf dem Docker-Host bereits eingehängt, genügt stattdessen ein einfacher Bind-Mount ohne Zugangsdaten (`- /mnt/fs01/Daten/Technik/AI:/data`).
|
||||
|
||||
Ein Eintippen des Pfads in der Oberfläche ist nicht möglich: Die Anwendung läuft auf dem Server, der Browser auf Ihrem PC – ein dort gewählter Pfad wäre für den Server bedeutungslos, und Browser geben Web-Anwendungen aus Sicherheitsgründen keine Dateipfade.
|
||||
|
||||
Wird nichts eingebunden, funktioniert die Einzelrechnung uneingeschränkt; der Stapelbetrieb weist dann auf den fehlenden Mount hin.
|
||||
|
||||
### 3. Container bauen und starten
|
||||
|
||||
|
|
|
|||
|
|
@ -10,25 +10,36 @@ services:
|
|||
# frei waehlbar - fuer neue Ordner muss diese Datei NICHT angefasst werden.
|
||||
- BATCH_ROOT_DIR=/data
|
||||
volumes:
|
||||
# Netzwerkfreigabe fuer den Stapelbetrieb einbinden. Ein UNC-Pfad (\\FS01\Daten\...) laesst
|
||||
# sich im Container nicht direkt verwenden - er muss hier gemountet werden.
|
||||
# Die Netzwerkfreigabe \\FS01\Daten\Technik\AI wird unten als Volume 'datev_austausch'
|
||||
# definiert und hier auf /data gelegt. Der Container arbeitet damit DIREKT auf der
|
||||
# Freigabe - es wird nichts kopiert oder synchronisiert.
|
||||
#
|
||||
# Variante A (empfohlen): Freigabe ist auf dem Docker-Host bereits eingehaengt,
|
||||
# dann nur den Host-Pfad eintragen:
|
||||
# Zum Aktivieren: die naechste Zeile einkommentieren, './batch_data:/data' entfernen und
|
||||
# unten im Block 'volumes:' Benutzername und Passwort eintragen.
|
||||
# - datev_austausch:/data
|
||||
#
|
||||
# Alternative, falls die Freigabe auf dem Docker-Host bereits eingehaengt ist (dann
|
||||
# braucht es keine Zugangsdaten hier):
|
||||
# - /mnt/fs01/Daten/Technik/AI:/data
|
||||
#
|
||||
# Variante B: Docker haengt die Freigabe selbst per CIFS ein - dazu unten den
|
||||
# auskommentierten Block 'volumes:' am Dateiende aktivieren und hier verwenden:
|
||||
# - datev_austausch:/data
|
||||
# Vorbelegung ohne Freigabe: lokaler Ordner, damit der Container startet. Der
|
||||
# Stapelbetrieb findet darin nichts und weist darauf hin; die Einzelrechnung
|
||||
# funktioniert uneingeschraenkt.
|
||||
- ./batch_data:/data
|
||||
restart: unless-stopped
|
||||
|
||||
# Variante B fuer den Mount: Docker bindet die SMB-Freigabe selbst ein. Benoetigt ein Konto
|
||||
# mit Lese- UND Schreibrechten auf der Freigabe.
|
||||
# Netzwerkfreigabe als Volume. 'device' ist der Windows-Netzwerkpfad in Docker-Schreibweise:
|
||||
# aus \\FS01\Daten\Technik\AI wird //FS01/Daten/Technik/AI.
|
||||
#
|
||||
# Es wird der UEBERGEORDNETE Ordner eingebunden, nicht ein einzelner Unterordner - dadurch
|
||||
# sind Test1, Test2 und jeder kuenftige Unterordner im UI waehlbar, ohne diese Datei erneut
|
||||
# anzufassen.
|
||||
#
|
||||
# Das angegebene Konto braucht Lese- UND Schreibrechte auf der Freigabe.
|
||||
# volumes:
|
||||
# datev_austausch:
|
||||
# driver: local
|
||||
# driver_opts:
|
||||
# type: cifs
|
||||
# o: "username=DIENSTKONTO,password=GEHEIM,uid=1000,gid=1000,vers=3.0"
|
||||
# device: "//FS01/Daten/Technik/AI"
|
||||
# device: "//FS01/Daten/Technik/AI"
|
||||
# o: "username=DIENSTKONTO,password=GEHEIM,domain=SCITECH,uid=1000,gid=1000,vers=3.0"
|
||||
|
|
|
|||
Loading…
Reference in New Issue