This is a Debian/Ubuntu-compatible headless build of Bitfocus Buttons.
Configuration is stored under `$HOME/.config/bitfocus-buttons`, which you may want to include in your backups.
To start the application, launch `./watchdog-cli 0.0.0.0 4440`. You can set this up to launch on startup with your preferred init system. An example systemd unit is provided.
For a description of the required and optional arguments, check `./watchdog-cli -help`.
Prerequisites
You’ll need sudo access and an internet connection.
1. Update your system:
sudo apt update
sudo apt upgrade
sudo apt install curl
2. Install PostgreSQL 17:
Buttons requires PostgreSQL 17 from the official PostgreSQL repository (not the Ubuntu default version)
sudo sh -c ‘echo “deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main” > /etc/apt/sources.list.d/pgdg.list’
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
sudo apt update
sudo apt install -y postgresql-17Disable the default postgresql server, as Buttons manages and runs its own.
sudo systemctl disable postgresql
sudo systemctl stop postgresql
3. Install Redis & Avahi (mDNS/Bonjour):
sudo apt install -y redis-server avahi-daemon libnss-mdns libudev1Disable the default redis server, as Buttons manages and runs its own.
sudo systemctl disable redis-server
sudo systemctl stop redis-server
4. Create a Group and User and Set up udev rules and access:
Create a group for access to stream deck devices:
sudo addgroup buttonsAdd your user to the buttons group:
sudo adduser $USER buttonsCopy the 50-bitfocus-buttons.rules to /etc/udev/rules.d/ make sure that your terminal is in the directory where the file is i.e home/bitfocus/bitfocus-buttons-linux-x64
sudo cp 50-bitfocus-buttons.rules /etc/udev/rules.d/Reload the rules
sudo udevadm control --reload-rulesReplug any Stream Decks to reload the reloaded rules.
Before starting buttons, open a new terminal/shell to make sure the group changes are applied to your session.
Running manually
You can start buttons on http://127.0.0.1:4440 (https://127.0.0.1:4443) by running:
./watchdog-cli 127.0.0.1 4440For UI availability on Local machine only or:
./watchdog-cli 0.0.0.0 4440For UI availability on all networks
Running as a service
An example systemd service file (bitfocus-buttons.service) is included to get you started.
It expects a `buttons` user to exist, and to be a member of a `buttons` group.
You will likely want to modify the command to add additional arguments.