Commit Graph
2 Commits
Author SHA1 Message Date
Claude d3f412dc28 Make fail2ban setup fully automated with intelligent error handling
The caddy-setup-helper.sh script now handles everything automatically (after asking
for confirmation), only falling back to manual instructions if errors occur.

AUTOMATED WORKFLOW:
1.  Backup Caddyfile (ALWAYS FIRST - before any changes)
2.  Check if fail2ban is installed
3.  Install fail2ban if missing (with confirmation)
4.  Create /var/log/caddy directory
5.  Check if Caddy container has log volume mounted
6.  Automatically add log volume to docker-compose.yml if needed
7.  Create fail2ban filter at /etc/fail2ban/filter.d/caddy-auth.conf
8.  Create fail2ban jail at /etc/fail2ban/jail.d/caddy.conf (with custom settings)
9.  Test fail2ban configuration
10.  Restart fail2ban and verify jail is active
11.  Add service configurations (ActualBudget, Keycloak) to Caddyfile
12.  Validate and reload Caddy configuration

ERROR HANDLING:
- All operations tracked with error messages array
- If any step fails, script continues but tracks the failure
- At the end, shows all errors encountered
- Provides exact manual commands to fix issues
- Backup is ALWAYS created before any changes

USER EXPERIENCE:
- Interactive prompts with sensible defaults
- Clear colored output (INFO, SUCCESS, WARNING, ERROR)
- Progress feedback at each step
- Final summary with useful commands
- Only shows manual instructions if automation failed

SAFETY FEATURES:
- Caddyfile backup before ANY modifications
- docker-compose.yml backup before modifications
- Validation before reloading Caddy
- Test fail2ban config before restart
- Restore instructions always shown after backup

This matches the integrated experience of other services - fully automated
unless something goes wrong, in which case it provides manual steps.
2026-01-11 22:50:30 +00:00
Claude 5dbb27ee8b Fix Magic Mirror npm setup and add ActualBudget, Keycloak, Caddy/fail2ban support
FIXES:
- Fix Magic Mirror npm install to run inside Docker container instead of on host
- npm (Node Package Manager) commands now execute inside the MagicMirror container
  where Node.js is installed, preventing errors on hosts without Node.js

NEW SERVICES:
- Add ActualBudget: Open-source personal finance management with bank sync (SimpleFIN)
- Add Keycloak: Identity and Access Management (SSO, OAuth2, SAML, MFA)
- Both services integrated into main installation script and available as standalone
  docker-compose files for existing servers

CADDY & FAIL2BAN:
- Add caddy-setup-helper.sh: Interactive script to configure Caddy and fail2ban
  * Detects existing Caddy installation
  * Automatically backs up Caddyfile with timestamp
  * Checks for fail2ban support
  * Provides service integration examples
- Add fail2ban filter and jail configurations for Caddy protection
- Add comprehensive setup guide (CADDY-FAIL2BAN-SETUP.md)

DOCUMENTATION:
- Detailed deployment instructions for each service
- Reverse proxy configuration examples
- Security best practices and headers
- Backup/restore procedures
- Troubleshooting guides

This update enables secure deployment of new services on existing servers with
proper Caddy reverse proxy integration and fail2ban protection against attacks.
2026-01-11 21:43:52 +00:00