Static HTML/CSS served by nginx with Let's Encrypt. Includes about,
projects and writing sections (placeholders) and contact links.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Allows local builds to be copied to the server without requiring
trusted signing keys. Safe for a personal single-user server.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Expose JupyterLab via HTTPS with Let's Encrypt. Jupyter now listens
only on localhost; nginx handles TLS termination and WebSocket proxying.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Direct control not viable due to Tuya 3.5 single-connection limit
and expired cloud subscription. Removing all related config for now.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
systemd-tmpfiles L+ was not creating the symlink. Replace with a
oneshot service that copies the component before HA starts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Drops the bridge approach. Copies the localtuya custom component
(v2025.11.0) into the repo and symlinks it into /var/lib/hass via
systemd-tmpfiles on rebuild. Reverts all bridge-related config.
After rebuild, configure the integration via HA UI with the device
credentials already in the repo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Installs ha-bridge.py on vini@192.168.1.105 as a systemd user service
that proxies light commands to the remote HA via JWT authentication.
Local HA gets rest_command, rest sensor, template switch, and a
button-card for both dashboards.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fetches 5h and 7-day rate limit windows from claude.ai/api and exports
them to a JSON file; adds HA sensors, template sensors, systemd
service/timer, and a button-card for both dashboards.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>