Digital Signage im Krautspace
  • Python 70.2%
  • HTML 13.1%
  • CSS 9.2%
  • Nix 4%
  • Shell 3.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
paul 56a1832bfe Add a shared default MQTT broker setting in the admin UI
The hackerspace now has one external broker (Home Assistant's own
Mosquitto add-on) that's the natural default for anything MQTT-based,
rather than retyping the same host/port/credentials into every slide
or hand-editing a root-only env file over SSH.

- New "MQTT broker (default)" settings section in the admin UI.
- API/MQTT status slides fall back to it when their own broker host is
  left blank (all four fields together, never a per-field mix with a
  slide's own settings).
- c3lounge.sh now reads the same signage.db keys directly (both run as
  the same unprivileged user, so no cross-user permission issue), with
  /etc/krautspace-mqtt.env kept as an optional bootstrap fallback for a
  fresh install that hasn't touched the web UI yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ob9hgT5q1JAqy6okeG97o
2026-10-12 23:57:28 +02:00
backend Add a shared default MQTT broker setting in the admin UI 2026-10-12 23:57:28 +02:00
deploy Add a shared default MQTT broker setting in the admin UI 2026-10-12 23:57:28 +02:00
docs Add a shared default MQTT broker setting in the admin UI 2026-10-12 23:57:28 +02:00
tests Add a shared default MQTT broker setting in the admin UI 2026-10-12 23:57:28 +02:00
.envrc added devenv support 2026-08-22 21:27:03 +02:00
.gitignore more desloppification measures 2026-08-22 21:31:58 +02:00
CLAUDE.md Move detailed docs out of README into docs/ 2026-10-06 20:02:21 +02:00
devenv.lock added devenv support 2026-08-22 21:27:03 +02:00
devenv.nix added devenv support 2026-08-22 21:27:03 +02:00
devenv.yaml added devenv support 2026-08-22 21:27:03 +02:00
flake.lock more desloppification measures 2026-08-22 21:31:58 +02:00
flake.nix more desloppification measures 2026-08-22 21:31:58 +02:00
pyproject.toml Add a shared default MQTT broker setting in the admin UI 2026-10-12 23:57:28 +02:00
README.md Move detailed docs out of README into docs/ 2026-10-06 20:02:21 +02:00
uv.lock Add a shared default MQTT broker setting in the admin UI 2026-10-12 23:57:28 +02:00

krautspaceTV

Digital Signage im Krautspace: a Raspberry Pi driving a TV in the hackerspace, rotating between the 3D printer webcam, feeds, train departure boards, weather and other web content, with a web admin UI for managing slides.

Using it

  • Admin UI: http://krautspaceTV/ (or https://, self-signed cert). It is open to anyone on the network on purpose, so people can add their own content.
  • "Add slide", pick a type, fill in its fields, save. "View now" pushes a slide to the display immediately.
  • Rotation interval is under "Rotation settings"; keep it above ~25s.

Setup

On the Pi, as admin (details and the optional boot splash in docs/setup.md):

sudo apt install chromium xinit x11-xserver-utils unclutter scrot
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/paulloth1/krautspaceTV.git ~/signage && cd ~/signage
uv sync --frozen --no-dev
# create the self-signed TLS cert first (docs/setup.md), then:
sudo cp deploy/backend*.service deploy/kiosk.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now backend.service backend-http.service \
        backend-tls.service backend-tls-443.service kiosk.service

Development

devenv shell, then check (lint + tests) and serve. Without devenv: uv sync && uv run pytest. Version bumps follow CLAUDE.md.

More