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:
35
config.toml
Normal file
35
config.toml
Normal file
@@ -0,0 +1,35 @@
|
||||
[display]
|
||||
# Screen resolution. Leave commented to auto-detect from the framebuffer.
|
||||
# width = 1920
|
||||
# height = 1080
|
||||
|
||||
# Display refresh rate in frames per second. 10 is plenty for a clock.
|
||||
fps = 10
|
||||
|
||||
# Paths to TTF font files. Leave blank to auto-detect from system fonts.
|
||||
# The clock uses a monospace font; messages use a sans-serif bold font.
|
||||
clock_font_path = ""
|
||||
message_font_path = ""
|
||||
|
||||
[server]
|
||||
port = 8080
|
||||
|
||||
# Default message duration in seconds when the caller doesn't specify one.
|
||||
default_duration_seconds = 20
|
||||
|
||||
[api]
|
||||
# Bearer token for /api/* routes.
|
||||
# Leave blank — a token is auto-generated on first run and saved here.
|
||||
token = ""
|
||||
|
||||
[rate_limit]
|
||||
# Maximum API requests per minute per source IP.
|
||||
requests_per_minute = 20
|
||||
|
||||
[dashboard]
|
||||
# Bcrypt hash of the dashboard password.
|
||||
# Leave blank — a setup wizard runs on the first browser visit to set the password.
|
||||
password_hash = ""
|
||||
|
||||
# How many hours of inactivity before a dashboard session expires.
|
||||
session_timeout_hours = 8
|
||||
Reference in New Issue
Block a user