Skip to main content
Version: 5.2

Raspberry Pi

Run FiestaBoard on a Raspberry Pi for a dedicated, always-on dashboard controller.

The fastest path is the FiestaPi pre-built image. Flash a microSD card, boot, open a browser — FiestaBoard is running and self-updating out of the box. No Docker setup, no command line.

FiestaPi Quick Start


Advanced: Install on an existing Pi with Docker

Already have a Raspberry Pi running with Docker? You can run FiestaBoard the same way as any Docker install.

Compatible models

ModelArchitectureStatus
Raspberry Pi 3B+linux/arm64Supported (64-bit OS required)
Raspberry Pi Zero 2 Wlinux/arm64Supported (64-bit OS required)
Raspberry Pi 4linux/arm64Supported
Raspberry Pi 5linux/arm64Supported

Note: 32-bit ARM (linux/arm/v7) is not supported. Node.js dropped ARM32v7 in v20+. Use 64-bit Raspberry Pi OS (Bookworm or later).

Install Docker (if needed)

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Log out and back in, then verify:
docker --version

Start FiestaBoard

Using pre-built images from Docker Hub (recommended — no build step):

docker compose -f docker-compose.hub.yml up -d

Open http://localhost:4420 in a browser on the same network.

Enable in-app updates

Add these lines to your .env to enable the one-click Update Now button:

COMPOSE_PROFILES=fiestaupdater
FIESTAUPDATER_TOKEN=$(head -c 32 /dev/urandom | od -An -tx1 | tr -d ' \n')

Then restart: docker compose -f docker-compose.hub.yml up -d. See In-App Updates for more detail.

Auto-start on boot

Create a systemd unit so FiestaBoard starts automatically:

sudo tee /etc/systemd/system/fiestaboard.service > /dev/null << 'EOF'
[Unit]
Description=FiestaBoard
Requires=docker.service
After=docker.service network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/pi/FiestaBoard
ExecStart=/usr/bin/docker compose -f docker-compose.hub.yml up -d
ExecStop=/usr/bin/docker compose -f docker-compose.hub.yml down
TimeoutStartSec=300

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable fiestaboard
sudo systemctl start fiestaboard

Performance tips

  • Use a fast SD card — Class 10 or higher, ideally A2-rated
  • Consider USB boot — Booting from a USB SSD significantly improves performance
  • Add a heatsink — Sustained Docker workloads can throttle an uncooled Pi 3B
  • Set appropriate refresh intervals - Don't refresh more frequently than needed
# In .env, 60 seconds is usually sufficient
REFRESH_INTERVAL_SECONDS=60

Auto-Start on Boot

To have FiestaBoard start automatically when your Pi boots:

# Enable Docker to start on boot
sudo systemctl enable docker

# Create a systemd service for FiestaBoard
sudo tee /etc/systemd/system/fiestaboard.service << 'EOF'
[Unit]
Description=FiestaBoard
After=docker.service
Requires=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/pi/FiestaBoard
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down

[Install]
WantedBy=multi-user.target
EOF

# Enable the service
sudo systemctl enable fiestaboard

Accessing From Other Devices

Once FiestaBoard is running on your Pi, you can access it from any device on the same network:

  • http://fiestaboard.local:4420 — works on most home networks via mDNS/Bonjour. No need to remember the Pi's IP address.
  • http://<pi-ip-address>:4420 — use this if .local addresses don't work on your network. Find your Pi's IP with hostname -I.

To change the advertised hostname, set MDNS_HOSTNAME in your .env file (default: fiestaboard, which becomes fiestaboard.local).

Next Steps