Commit graph

15 commits

Author SHA1 Message Date
tim
a729ff14e9 Add mini/mid/gaming hardware profiles and always-on full stack
Profiles select CPU vs Vulkan and Bonsai-27B vs Qwen3.5-9B Abliterated
Q4_K_M. OpenHands is no longer optional; compose deploys every service.
download-models.sh fetches both GGUF families as the profile requests.
2026-07-22 19:00:59 -07:00
tim
3bf1726a99 Centralize demo config in .env and add bootstrap-stack.sh
Expand .env.example with ports, AI, Usenet, WireGuard, demo logins, and
bootstrap flags. One script creates dirs, downloads the model, starts
compose, heals gluetun, and configures SABnzbd from the same file.
2026-07-22 13:06:08 -07:00
tim
56ddb349b4 Add Caddy landing page with dark LAN service map
Newbie-friendly index of media, download, AI, and git services with
short how-to blurbs; served on port 80 for other PCs on the network.
2026-07-22 13:00:21 -07:00
tim
ceba76df85 Map Tweaknews secret variable aliases in configure-usenet
Accept TWEAKNEWSLOGIN, TWEAKNEWSPASSWORD, TWEAKNEWSAPI (as host),
TWEAKNEWSSSLPORT, and TWEAKNEWSCONNECTIONS from secrets/.env.
2026-07-22 12:48:07 -07:00
tim
d55f3220d9 Fix sabnzbd compose: define arr-env anchor before use
Move SABnzbd after prowlarr so the YAML anchor resolves.
2026-07-22 12:00:16 -07:00
tim
07ae1c0c71 Add SABnzbd for Usenet NZB search and download
Wire Newshosting/Tweaknews via secrets-driven configure script, NZBgeek
through Prowlarr, and /data/usenet paths for hardlinks with the Arrs.
2026-07-22 11:59:51 -07:00
tim
0601de7217 Use OnCalendar for gluetun endpoint watch timer
OnUnitActiveSec alone left NEXT unset after enable; calendar every
five minutes schedules reliably after boot.
2026-07-22 11:19:01 -07:00
tim
218e64314d Add gluetun endpoint watcher (5-minute systemd timer)
When gluetun is unhealthy, re-dig the WireGuard peer hostname, update
wg0.conf Endpoint, recreate gluetun then qbittorrent, and verify the
VPN exit IP. Keeps torrent path alive when provider endpoints rotate.
2026-07-22 11:18:39 -07:00
tim
b55754ee49 Document gluetun unhealthy caused by stale WireGuard endpoint IP
Note re-resolving provider endpoints and PersistentKeepalive when the
tunnel sets up but healthchecks fail with DNS i/o timeouts.
2026-07-22 11:15:35 -07:00
tim
90f3cf62c5 Make /opt/stack a Forgejo git checkout instead of rsync-only
Prefer stack_deploy_method=git: init/fetch on the server, register an
SSH deploy key with Forgejo, and leave local secrets untracked. Document
git pull for day-to-day updates; keep rsync as an opt-in fallback.
2026-07-22 11:12:07 -07:00
tim
6c9e085cbd Fix Ansible stack deploy rsync chgrp permission errors
Skip owner/group preservation when syncing as non-root; Docker-owned
files under /opt/stack caused rsync code 23. Ownership is fixed after.
2026-07-22 11:09:04 -07:00
tim
38eaa43d04 Add FlareSolverr for Cloudflare challenges on Prowlarr indexers
Provides a browser proxy on arr-net so indexers behind Cloudflare JS
challenges can work; document limits (not a universal captcha solver).
2026-07-22 07:40:41 -07:00
tim
84902d5cb5 Document connecting OpenHands to Forgejo
Cover the Forgejo/Gitea provider (token + Docker DNS) and the workspace
clone path used with SANDBOX_VOLUMES for day-to-day coding.
2026-07-22 06:36:41 -07:00
tim
112cf3a2bf Document agent convention: commit and push to Forgejo after changes
Keeps the stack repo on the home Forgejo instance in sync when the
coding agent edits the project.
2026-07-22 06:32:54 -07:00
tim
3645d1314c Initial commit: arr-stack homelab + local AI
Docker Compose media stack (gluetun, *arr, Jellyfin), Ternary-Bonsai AI
(Open WebUI, Forgejo, optional OpenHands), and Ansible bootstrap for the
SER5 Ubuntu host.
2026-07-22 06:28:49 -07:00