Docs menu

How-to

Install slowhub

Run a hub on a Slowboard 1085, or on a Linux machine of your own, and connect a screen to it.

On a Slowboard 1085

Nothing to do: the Slowboard image includes slowhub, already configured. Follow Set up a Slowboard 1085, then Install a slowapp.

On a Linux machine of your own

A hub can run on another machine, such as a Raspberry Pi or a home server, and serve screens over your network. That is useful when a screen’s own computer is too small to run apps, or when you want one hub for several screens.

TODO(owner): this path hasn’t been documented end to end. Confirm which machines and operating systems are supported, where to download slowhub for x86_64 and 64-bit ARM, and the minimum memory. Until then, the steps below are the parts that are known from the Slowboard 1085’s setup.

What it needs

  • Linux with systemd.
  • Podman, run rootless, with dbus-user-session installed so that memory limits apply to containers.
  • A user for the hub to run as. On the Slowboard 1085 it is epaper.
  • Enough memory for the apps you want to run at once: each app’s manifest states its limit (Reminders 48 MB, Weather 256 MB), plus the hub’s own reserve.

Install the service

slowhub runs as a systemd user service for its user. As root:

apt install dbus-user-session
cp slowhub.service /etc/systemd/user/
loginctl enable-linger epaper
systemctl --user -M epaper@ daemon-reload
systemctl --user -M epaper@ enable --now slowhub

The unit runs /opt/slowboard/bin/slowhub --config /etc/slowhub/slowhub.toml serve. slowhub reference has the configuration file.

TODO(owner): where do slowhub.service, the tmpfiles and logind snippets, and the binary come from for someone who isn’t building from the repository?

Let screens connect

A screen on another machine connects over TCP with a token. In /etc/slowhub/slowhub.toml, turn on the listener and allow the names the screen will use:

listen_device_tcp = "0.0.0.0:8090"
host_allow = ["myhub", "myhub.local"]

Restart slowhub, then create a token for the screen. It is printed once. (Run slowhub commands as the hub’s user; the reference has the full command line.)

slowhub device add kitchen

On the screen’s computer, point slowd at the hub in /etc/slowd/slowd.toml and put the token in the file named by token_file:

[hub]
url = "http://myhub:8090"
token_file = "/etc/slowd/hub.token"

slowhub device list shows the screens a hub knows, and slowhub device revoke ID removes one.

TODO(owner): connections between a screen and a remote hub are plain HTTP today; HTTPS is planned. Say whether to recommend this only on a trusted network for now.

Hosted hub

A hub hosted by us is coming soon.

Updates, now and then

A short note when there is a new board, a new slowapp, or kit news. Rarely more than one a month.