Estimates based on public list pricing. Actual billing may differ slightly.
ssh -i ~/.ssh/id_hetzner root@178.105.123.22
systemctl restart news-pipeline
Restart after config changes
journalctl -fu news-pipeline
Live pipeline logs
systemctl status news-xvfb news-pulseaudio news-browser news-pipeline news-webserver
Status of all services
systemctl stop news-pipeline
Stop pipeline only — safe to run while making code changes
systemctl start news-pipeline
Start pipeline after changes are deployed
systemctl start news-xvfb news-pulseaudio news-browser news-webserver news-pipeline
Start all services (full cold start)
systemctl stop news-pipeline news-webserver news-browser news-pulseaudio news-xvfb
Stop all services
cat /etc/systemd/system/news-pipeline.service.d/10-crd-audio.conf
View the active drop-in override — this takes full priority over the main service file
nano /etc/systemd/system/news-pipeline.service.d/10-crd-audio.conf && systemctl daemon-reload && systemctl restart news-pipeline
Edit chunk-seconds, model, or source — always edit the drop-in, not the main service
WHY: a drop-in file (10-crd-audio.conf) overrides the main service with CRD audio settings. Editing the main service file has no effect while this drop-in exists.
CRD_SOCK=$(ls /run/user/999/crd_audio*/native | head -1) && su -s /bin/bash ntuser -c "PULSE_SERVER=unix://$CRD_SOCK pactl list sinks short"
Check CRD PulseAudio sinks (should show RUNNING)
CRD_SOCK=$(ls /run/user/999/crd_audio*/native | head -1) && su -s /bin/bash ntuser -c "PULSE_SERVER=unix://$CRD_SOCK pactl list sink-inputs short"
See what Chrome is routing audio to (should show one Google Chrome line)
ls -lh /home/ntuser/genus_apps/news_transcribe/data/events/bloomberg-live/
Output files for this session
tail -1 /home/ntuser/genus_apps/news_transcribe/data/events/bloomberg-live/segments.jsonl | python3 -m json.tool
Latest segment JSON
No notes yet — use the pencil button on a feed row to pin or add a note.
No session brief yet — waiting for first window pass.