AdvancedSystem Service

System Service

Running Kyber as a system service keeps the gateway and dashboard alive in the background, surviving reboots and logouts.

Automatic setup

The install script offers to set this up for you:

curl -fsSL https://kyber.chat/install.sh | bash

When prompted “Set up as system service?”, answer yes.

Linux (systemd)

The installer creates user-level systemd units:

~/.config/systemd/user/kyber-gateway.service
~/.config/systemd/user/kyber-dashboard.service

Managing services

# Status
systemctl --user status kyber-gateway
systemctl --user status kyber-dashboard
 
# Restart (after config changes or upgrades)
systemctl --user restart kyber-gateway
systemctl --user restart kyber-dashboard
 
# Stop
systemctl --user stop kyber-gateway
 
# View logs
journalctl --user -u kyber-gateway -f
journalctl --user -u kyber-dashboard -f

VPS persistence

The installer runs loginctl enable-linger so your user services survive SSH logout. This is essential for VPS deployments.

If you set it up manually:

loginctl enable-linger $(whoami)

macOS (launchd)

The installer creates launch agents:

~/Library/LaunchAgents/chat.kyber.gateway.plist
~/Library/LaunchAgents/chat.kyber.dashboard.plist

Logs go to ~/.kyber/logs/.

Managing services

# List
launchctl list | grep kyber
 
# Stop
launchctl stop chat.kyber.gateway
 
# Start
launchctl start chat.kyber.gateway
 
# View logs
tail -f ~/.kyber/logs/gateway.log
tail -f ~/.kyber/logs/dashboard.log

Unloading

To completely remove the services:

launchctl unload ~/Library/LaunchAgents/chat.kyber.gateway.plist
launchctl unload ~/Library/LaunchAgents/chat.kyber.dashboard.plist
rm ~/Library/LaunchAgents/chat.kyber.gateway.plist
rm ~/Library/LaunchAgents/chat.kyber.dashboard.plist

Ports

ServiceDefault port
Gateway18790
Dashboard18890