- Quote file modes. Unquoted 644/755 were read as decimal, so files
landed as 1204. Templates holding secrets are now 0640 root:docker.
- Stop publishing Authentik 9000/9443 and Karakeep 3000 (Caddy reaches
them over the docker network), bind dir2opds to the Tailscale IP, and
drop Caddy's unused 8448.
- Atuin login uses no_log and only runs once; the installer only runs
when Atuin is missing.
- Make chsh, ufw-docker install, the bat symlink and Atuin dotfiles
idempotent.
- Back up the Paperless data volume (SQLite DB), stopping Paperless
during the backup.
- Close public sign-up on kosync and ByteStash.
- Replace hardcoded IPs and domains with variables.
- Remove teardown tasks and templates for 9 retired services.
- Fix the dockcheck comment: it auto-updates labelled containers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Added comprehensive logging to /var/log/dockcheck/dockcheck.log
- Created wrapper script to avoid cron variable escaping issues
- Added timestamp logging for each execution with exit codes
- Created proper log directory with correct permissions
- Removed unnecessary -n flag (config file handles DontUpdate=true)
- Added cron handlers for service management
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Install dockcheck.sh script in user's .local/bin directory
- Create notification templates directory with notify_v2.sh and notify_gotify.sh
- Configure Gotify notifications for container update alerts
- Add minimal config with DontUpdate=true (notification only)
- Exclude authentik-postgresql-1 and dawarich_redis from checks
- Schedule daily cron job at 8:00 AM as phil user
- Add dockcheck Gotify token to vault secrets
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>