Initial implementation of Sahsa Clock
Pygame framebuffer clock for Le Potato (ARM Debian) with aiohttp webhook server. Renders 12-hour clock directly to /dev/fb0 (no X11/Wayland). Supports full-screen message overlays pushed via a browser dashboard or Bearer-token API. Includes first-run setup wizard, session-based dashboard auth, bcrypt password storage, per-IP rate limiting, and systemd service unit. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
27
sahsa-clock.service
Normal file
27
sahsa-clock.service
Normal file
@@ -0,0 +1,27 @@
|
||||
[Unit]
|
||||
Description=Sahsa Clock Display
|
||||
After=network.target
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=pi
|
||||
WorkingDirectory=/opt/sahsa_clock
|
||||
|
||||
# Tell SDL to render directly to the Linux framebuffer (no display server needed)
|
||||
Environment=SDL_VIDEODRIVER=fbcon
|
||||
Environment=SDL_FBDEV=/dev/fb0
|
||||
|
||||
# Disable console blanking so the TV stays on
|
||||
ExecStartPre=/bin/sh -c 'echo -ne "\033[9;0]" > /dev/tty1'
|
||||
|
||||
# If using a virtualenv (recommended):
|
||||
ExecStart=/opt/sahsa_clock/venv/bin/python3 /opt/sahsa_clock/main.py
|
||||
# If using system Python instead, replace the line above with:
|
||||
# ExecStart=/usr/bin/python3 /opt/sahsa_clock/main.py
|
||||
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user