Prod fuehrt Phase 1 als Quadlet unter
~/.config/containers/systemd/wurzelwerk-ingest.container; Phase 2 legt
sich daneben. Damit faellt die eigene .service-Unit weg - zwei Wege,
dasselbe zu tun, sind einer zuviel.
Drei Dinge, die dabei nicht offensichtlich sind:
Type=oneshot Quadlet setzt sonst Type=notify, und die Unit
gaelte als gestartet, sobald der Container
laeuft, nicht wenn er durch ist.
kein RemainAfterExit Das Handbuch empfiehlt es fuer oneshot, aber bei
Timer-Aktivierung bliebe der Auftrag im Zustand
"started" und der Timer loeste ihn nie wieder
aus.
--env-file EnvironmentFile= im Abschnitt [Container] ist
nicht systemds EnvironmentFile=. Quadlet reicht
die Datei an podman weiter, und podman entfernt
keine Anfuehrungszeichen um Werte.
Network=bebop-net steht jetzt direkt in der Unit; P2_NETZ entfaellt.
Type=oneshot schaltet ausserdem die Startzeitgrenze ab, womit der Grund
fuer TimeoutStartSec=1800 wegfaellt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NupWEBPzsyohVPG47HsTz8
22 lines
853 B
Bash
22 lines
853 B
Bash
# Nach ~/.config/wurzelwerk/p2.env kopieren und ausfuellen. chmod 600.
|
|
# Enthaelt Zugangsdaten und gehoert nicht ins Repo.
|
|
|
|
# Das Netz steht in der Quadlet-Unit (Network=bebop-net), nicht hier.
|
|
#
|
|
# Die Datenbankverbindung steht auf Prod bereits in
|
|
# ~/.config/wurzelwerk/database.env; die Unit liest beide Dateien. Hier nur
|
|
# setzen, wenn Phase 2 eine andere braucht.
|
|
#
|
|
# Anfuehrungszeichen um den Wert weglassen: podman --env-file entfernt sie
|
|
# nicht, anders als systemd.
|
|
#
|
|
# DATABASE_URL=postgresql://wurzelwerk:PASSWORT@postgres:5432/wurzelwerk
|
|
|
|
# Threadzahl. Geht in die coder_version ein - eine Aenderung erzeugt einen
|
|
# neuen Vektorbestand. Prod hat 16 Threads, 4 laeuft ueberall.
|
|
OMP_NUM_THREADS=4
|
|
|
|
# Nach dem ersten Lauf auf 1 setzen: dann geht das Modell nie wieder ins Netz,
|
|
# sondern nur noch ins Volume wurzelwerk-modelle.
|
|
HF_HUB_OFFLINE=0
|