Die Unit startet Node als User=callrec (uid 1000) und konnte darum keinen privilegierten Port binden - daher bisher :3000. Mit AmbientCapabilities=CAP_NET_BIND_SERVICE bindet der unprivilegierte Prozess jetzt Port 80 direkt, ohne Reverse-Proxy (nginx haette 20-40 MB RAM gekostet, die neben dem residenten rkllm nicht frei sind). Kein Code-Eingriff noetig: server.js liest process.env.PORT, das Frontend nutzt relative API-Pfade. :3000 ist bewusst tot, alte Lesezeichen muessen angepasst werden. Dazu: Doku-IPs auf aime.local/192.168.1.48 korrigiert (192.168.1.200 war veraltet) und die Geisteranzeige-Diagnose vom 26.08. in Kapitel 03 + Changelog festgehalten (verwaister Browser-Reiter zaehlt ewig weiter, fmt() ohne Stunden). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
21 lines
531 B
Desktop File
21 lines
531 B
Desktop File
[Unit]
|
|
Description=CallRec - BT recording + Whisper transcription web app
|
|
After=network-online.target mariadb.service
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=callrec
|
|
WorkingDirectory=/opt/callrec
|
|
Environment=NODE_ENV=production
|
|
Environment=XDG_RUNTIME_DIR=/run/user/1000
|
|
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
|
|
Environment=PORT=80
|
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
ExecStart=/usr/bin/node /opt/callrec/server.js
|
|
Restart=on-failure
|
|
RestartSec=3
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|