Home · Docs · On-site box · Raspberry Pi

Raspberry Pi

A Pi can be the site manager, or a TV. Not both.

This page is Docker on the Pi: the panel lives here, other screens poll this Pi’s IP. The HDMI kiosk (cage + Chromium) is a different install on a different Pi.

Pi as box vs Pi as screen. Box = this page (Docker). Screen = Pi kiosk agent on a Pi that only drives a TV. One Pi, one role.

Need

Docker on Pi OS

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker "$USER"
# log out and back in, then:
docker compose version

Install the box

Same tarball as Linux:

curl -fsSL -O https://dutywall.com/download/dutywall-standalone.tar.gz
tar -xzf dutywall-standalone.tar.gz
cd dutywall-standalone-*
./scripts/standalone-up.sh
# set DUTYWALL_PANEL_PASSWORD in .env, re-run
./scripts/standalone-up.sh

Image build on Pi is slower than x86; the first up --build can take a while. After that, healthz and the panel are the same as Linux.

Confirm

hostname -I | awk '{print $1}'
curl -sS http://127.0.0.1:8090/healthz

Panel: http://<Pi-LAN-IP>:8090/. Other TVs use that as their master URL, including a second Pi running the kiosk agent.

Cameras

Pi-as-box is real Linux, so host networking and --profile camera work like the x86 box.

If you wanted a hallway TV instead

Do not Docker this Pi. Flash Lite, copy agents/pi, sudo ./install.sh, point MASTER_URL at an existing box. Screen install.

Questions

Pi 3?

Not as the box. RAM and 64-bit Docker are the floor. A Pi 3 can still be a slideshow-only kiosk pointed at a real box.

Can this Pi also show /player fullscreen?

You would be stacking a kiosk on the same CPU as compose, cameras, and NWS. Use another Pi or a cheap HDMI stick for the wall.