Fixes #3228. On an open WebSocket the server logged, every ~5s: redis.exceptions.TimeoutError: Timeout reading from redis:6379 ERROR: Exception in ASGI application Root cause: redis-py 8.0.1 (bumped from 7.4.0 in #3108) introduced a default 5-second async socket read timeout (DEFAULT_SOCKET_TIMEOUT = 5; 7.4.0 had none). channels_redis polls each channel with a blocking BZPOPMIN whose server-side timeout is brpop_timeout = 5s. With no override the blocking read inherits the 5s socket timeout, so an empty poll that legitimately blocks the full 5s races the socket read timeout and raises -- on every poll cycle, for any connected WebSocket. Not config drift and not board-specific; reproduces on healthy redis on any install running v2026.7.4 whenever the web UI is open. Fix: set the channel-layer connection socket_timeout to 15s -- above the 5s blocking poll so it can't race, while still bounding a genuinely dead redis connection (rather than disabling the read timeout entirely). Message delivery is unaffected. Reproduced and verified: an idle channel-layer receive() raised the exact error under redis-py 8.0.1 (DEFAULT_SOCKET_TIMEOUT=5) and now blocks cleanly with socket_timeout=15; bisected to redis-py 7.4.0 (clean) vs 8.0.1 (broken). test_consumers + test_messaging pass; full non-integration suite green (1513). Claude-Session: https://claude.ai/code/session_01HJ3ucEkn62cbgPoisAZ5LQ Co-authored-by: vpetersson-bot <307551610+vpetersson-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Anthias · Open Source Digital Signage Solution for Raspberry Pi and PC
✨ About Anthias
Anthias is a digital signage platform for Raspberry Pi devices and PCs. Formerly known as Screenly OSE, it was rebranded to clear up the confusion between Screenly (the paid version) and Anthias. More details can be found in this blog post.
Want to help Anthias thrive? Support us using GitHub Sponsor.
🚀 Getting Started
See this page for options on how to install Anthias.
✅ Compatibility
balenaOS
Note
See this page for instructions on how to install Anthias on balenaOS. You can either use the images from balenaHub or download the images from the releases.
Raspberry Pi OS
See the supported hardware section on the website for the full list of supported devices.
Generic 64-bit ARM SBCs (best-effort)
The installer recognizes any 64-bit ARM host that isn't a Raspberry Pi as arm64 and runs the same Anthias stack on it — Armbian on Rock Pi, Orange Pi, Banana Pi and similar boards. The dashboard, scheduler, and asset library all work as on a Pi.
Anthias only supports Debian-based Armbian images (Bookworm / Trixie). The installer wires up the Docker apt repository under download.docker.com/linux/debian, so Ubuntu-based Armbian downloads (Jammy / Noble) will fail at the apt update step. Pick the Debian build of the image for your board on the Armbian site.
Things to know before you pick a board:
- Videos decode in software — fine for casual 720p, stutter-prone at 1080p on slower SoCs, not suitable for 4K. If your content is mostly video, prefer a Pi 4 / 5 or x86.
- Images and web pages run smoothly across the supported boards.
- Tested boards: Rock Pi 4, Rock 5, Orange Pi 5, Banana Pi M5. Allwinner H616 / H618 boards (e.g. Orange Pi Zero 3) currently have weaker mainline display support and are best limited to non-video content.
- The Plymouth boot splash is wired up but typically does not display on non-Pi boards (their U-Boot bootloaders don't hand the kernel an early DRM device for Plymouth to draw to). The kernel boot log scrolls on the screen until the viewer takes over and renders your first asset — functionally fine, just less polished than the Pi or x86 boot.
Per-SoC hardware video decode (Rockchip rkmpp, Allwinner cedrus, Amlogic meson-vdec) is the planned follow-up; see issue #2849.
⭐ Star History
🐞 Issues and Bugs
Note
We are still in the process of knocking out some bugs. You can track the known issues here. You can also check the discussions in the Anthias forums.
⚡ Quick Links
- Forum
- Website (hosted on GitHub and the source is available here)
- General documentation
- Developer documentation
- WebView