# swp-01-ingest Stufe 0/1 der Lagebild-Pipeline: Quellenregister und Roh-Erfassung (RSS-Poller, Senken Postgres oder gzip-JSONL). Details zu Betrieb, Verhalten und offenen Punkten stehen in [`NOTES.md`](NOTES.md). ## Deploy (Bebop, Postgres + Podman/Quadlet) ```sh # 1. Schema einspielen psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f schema.sql # 2. Image bauen podman build -t localhost/lagebild-ingest:latest . # 3. Konfiguration ablegen mkdir -p ~/.config/lagebild cp ingest.env.example ~/.config/lagebild/ingest.env cp sources.toml ~/.config/lagebild/sources.toml chmod 600 ~/.config/lagebild/ingest.env $EDITOR ~/.config/lagebild/ingest.env # 4. Quadlet installieren mkdir -p ~/.config/containers/systemd cp lagebild-ingest.container lagebild.network ~/.config/containers/systemd/ systemctl --user daemon-reload systemctl --user start lagebild-ingest journalctl --user -u lagebild-ingest -f # Damit der Dienst ohne offene Sitzung weiterlaeuft: loginctl enable-linger "$USER" ``` `sources.toml` ist eingehaengt, nicht ins Image gebacken: eine neue Quelle ist ein `systemctl --user restart lagebild-ingest`, kein Neubau. ## Deploy (Pi 5, ohne Postgres/Container) ```sh python3 poller.py --sink jsonl:/var/lib/lagebild/schatten ``` Als `systemd --user`-Unit mit `Restart=always` einrichten (siehe `lagebild-robots.service` / `.timer` fuer den woechentlichen Robots-Check).