Prd/deploy/helpdesk.service
Lucy Doupalů be9f14ce34 Helpdesk - operator console + patched GrapheneOS Dialer for call handling
A small helpdesk system: an office Pixel running a patched GrapheneOS Dialer
answers technician calls, records both call legs as separate channels, and a
Ruby backend transcribes them through Whisper and files an AI summary against
the caller.

Squashed to a single commit for sharing. No credentials are included; secrets
live outside the repo in /etc/helpdesk/env on the server or a gitignored
.claude/env.local locally. See .claude/env.local.example for the shape.

Start at README.md, then docs/architecture.md.
2026-07-27 18:50:32 +02:00

27 lines
854 B
Desktop File

# Installed at /etc/systemd/system/helpdesk.service. Runs the WEBrick backend as a dedicated system
# user, bound to loopback (nginx is the only public entry). LANG/LC_ALL are required — Czech text breaks
# under a non-UTF-8 locale. Secrets come from /etc/helpdesk/env (root-only).
[Unit]
Description=Helpdesk console + device API (WEBrick, PostgreSQL)
After=network-online.target postgresql.service
Wants=network-online.target
[Service]
Type=simple
User=helpdesk
Group=helpdesk
WorkingDirectory=/srv/helpdesk/components/backend
EnvironmentFile=/etc/helpdesk/env
Environment=LANG=C.UTF-8
Environment=LC_ALL=C.UTF-8
ExecStart=/usr/bin/ruby /srv/helpdesk/components/backend/server.rb
Restart=on-failure
RestartSec=3
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
StateDirectory=helpdesk
[Install]
WantedBy=multi-user.target