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>
36 lines
980 B
TOML
36 lines
980 B
TOML
[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
|