# Debian/Ubuntu-headless build of Bitfocus Buttons.

> Innstall instructions for Debian/Ubuntu

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. Take note that there has been a change from Redis to Valkey. between v1.7.4 and v1.7.5 in step 3A and step 3B Check the version you are installing and choose the right step only one is necessary. 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-17 Disable the default postgresql server, as Buttons manages and runs its own. sudo systemctl disable postgresql sudo systemctl stop postgresql 3A. Install Redis & Avahi (mDNS/Bonjour): v1.6.x and Beta v1.7.1 through 1.7.4 sudo apt install -y redis-server avahi-daemon libnss-mdns libudev1 Disable the default redis server, as Buttons manages and runs its own. sudo systemctl disable redis-server sudo systemctl stop redis-server 3B. Install Valkey & Avahi (mDNS/Bonjour) from Beta v1.7.5 and onwards $ sudo apt install -y valkey-server avahi-daemon libnss-mdns libudev1 Disable the default Valkey server, Buttons manages and runs its own. $ sudo systemctl disable valkey-server $ sudo systemctl stop valkey-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 buttons Add your user to the buttons group: sudo adduser $USER buttons Copy 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-rules Replug 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 4440 For UI availability on Local machine only or: ./watchdog-cli 0.0.0.0 4440 For 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.
