kroskinski.com (~$)
jerry@homelab:~/docs

jerry@homelab:~/docs$ cat task-bot.md

task-bot: The Automation Hub

I built task-bot as a Donetick replacement. It is a Signal-based personal automation hub. I text it a command from my phone, and a FastAPI app routes it to the right integration, wrapping dozens of services.

It owns the entire pipeline, so there's no upstream bug to wait on, though it means maintaining the integrations myself. What started as a one-shot reminder bot has since grown into a small plugin-based system, all feeding into a merged morning briefing and a terminal-themed web dashboard alongside the Signal interface.

Core Integrations

πŸ›‘ Pi-hole v6 API
πŸ“ Memos API
πŸ’³ Wallos API
πŸ“Έ Immich API
πŸ“° Miniflux API
πŸ“„ Paperless-ngx API
⛏️ Minecraft whitelisting (RCON + GeyserMC)
πŸ—ΊοΈ Dawarich API
🧭 AdventureLog API
🐳 Dockhand API
πŸ”Œ UpSnap API
πŸ“… Radicale CalDAV (agenda, task mirror, grocery list)
πŸ‘€ changedetection.io API
πŸš€ Forgejo Actions API
πŸ’Ύ Cross-host backup-status tracker

Architectural Note: mcrcon incompatibility. I cannot use the `mcrcon` PyPI package. It implements timeouts via `signal.SIGALRM`, which is restricted to the main process thread. FastAPI command handlers run in Starlette’s threadpool, not the main thread. I had to roll a Source RCON client from scratch using plain sockets.

jerry@homelab:~/docs$ β–ˆ

cd ..