Skip to content
Up NextUp Next
Esc
↑↓navigate↵open⌘Jpreview
On this page

Running Up Next

Run Up Next as a systemd user service, read its logs and keep it running.

upnext serve keeps the feed. Every other command needs it running, so it normally runs as a systemd user service.

User service

The packages install upnext.service as a user unit. The Arch package enables it for every user’s future logins. To start it now, or after installing a .deb or .rpm:

systemctl --user daemon-reload
systemctl --user enable --now upnext.service

Check it’s running:

systemctl --user status upnext.service
journalctl --user -u upnext.service -f

A healthy start logs Listening with the socket path. The service restarts 5 seconds after it fails.

Upgrades

The Arch package restarts a running service after an upgrade, so it uses the new binary straight away. For other installs, restart it yourself:

systemctl --user restart upnext.service

Watchers, such as upnext watch, exit when the daemon restarts. Run them under something that restarts them, such as a panel’s restart interval or a systemd unit.

Run in the foreground

To troubleshoot, stop the service and run the daemon in a terminal with debug logs:

systemctl --user stop upnext.service
upnext serve --log-level debug

Use --socket to run a second daemon beside the service, for example with a different config:

XDG_CONFIG_HOME=/tmp/upnext-test upnext serve --socket /tmp/upnext-test.sock
upnext feed --socket /tmp/upnext-test.sock

Install the unit by hand

When you build from source, copy the unit and point ExecStart at your binary:

mkdir -p ~/.config/systemd/user
cp .scripts/linux/upnext.service ~/.config/systemd/user/
sed -i "s#/usr/bin/upnext#$(command -v upnext)#" ~/.config/systemd/user/upnext.service
systemctl --user daemon-reload
systemctl --user enable --now upnext.service

Last updated on October 4, 2026