cubby/contrib/systemd
2026-04-29 15:47:00 +00:00
..
cubby.service add sample systemd files 2026-04-29 15:47:00 +00:00
cubby.user.service add sample systemd files 2026-04-29 15:47:00 +00:00
README.md add sample systemd files 2026-04-29 15:47:00 +00:00

systemd unit files

Two flavours: a per-user service (no root needed) and a system service.

Runs under your login, socket lives in $XDG_RUNTIME_DIR/cubby.sock.

go build -o ~/.local/bin/cubby ./cmd/cubby

mkdir -p ~/.config/systemd/user
cp contrib/systemd/cubby.user.service ~/.config/systemd/user/cubby.service

systemctl --user daemon-reload
systemctl --user enable --now cubby.service
systemctl --user status cubby.service

To survive logout/reboot without an active session:

sudo loginctl enable-linger "$USER"

The socket path is /run/user/$(id -u)/cubby.sock.

System-wide (shared across users via a group)

Runs as a dedicated cubby user, socket at /run/cubby/cubby.sock, readable/writable by members of the cubby group.

sudo useradd --system --no-create-home --shell /usr/sbin/nologin cubby
sudo go build -o /usr/local/bin/cubby ./cmd/cubby
# or: go build -o ./cubby ./cmd/cubby && sudo install -m 0755 ./cubby /usr/local/bin/cubby

sudo cp contrib/systemd/cubby.service /etc/systemd/system/cubby.service
sudo systemctl daemon-reload
sudo systemctl enable --now cubby.service
sudo systemctl status cubby.service

# Add yourself (and others) to the cubby group to connect:
sudo usermod -aG cubby "$USER"
# log out and back in for new group membership to take effect

Common operations

# user service
systemctl --user restart cubby
systemctl --user stop cubby
journalctl --user -u cubby -f

# system service
sudo systemctl restart cubby
sudo systemctl stop cubby
sudo journalctl -u cubby -f