Files
ubuntu-post-install/SCRIPT-FLOW-INTRO.txt
T
Claude f564b4b6d8 Remove Keycloak; standardize on Authelia for SSO
Keycloak never reliably ran (fiddly reverse-proxy/hostname config) and the
repo has standardized on Authelia for SSO + 2FA. This rips Keycloak out
entirely:

- Delete the install block, whiptail menu entry, uninstall plumbing, and
  EXISTING_SERVICES detection from both 24.04 and 26.04 scripts
- Delete docker-compose-keycloak.yml, fix-keycloak-proxy.sh, and
  KEYCLOAK-SETUP-GUIDE.md
- Remove the Keycloak block from caddy-setup-helper.sh
- Update docs (CADDY-FAIL2BAN-SETUP.md, SECURITY-IMPROVEMENTS.md,
  NEW-SCRIPT-STRUCTURE.md, SCRIPT-FLOW-INTRO.txt) to reference Authelia

Also documents the fail2ban/Authelia overlap: Authelia handles failed-login
regulation (per-account lockout); the Caddy fail2ban jail is complementary
firewall-level IP banning. Neither does geo-blocking — noted CrowdSec / Caddy
GeoIP as the path for that.

https://claude.ai/code/session_017eA2qqq9jfF2tNtpUYL8vK
2026-06-03 03:44:26 +00:00

60 lines
4.6 KiB
Plaintext

#!/bin/bash
# SCRIPT FLOW EXPLANATION FOR USERS
cat << 'EOF'
╔════════════════════════════════════════════════════════════════╗
║ Ubuntu Post-Install Setup Script ║
╚════════════════════════════════════════════════════════════════╝
This script is divided into TWO main phases:
┌────────────────────────────────────────────────────────────────┐
│ PHASE 1: ESSENTIAL SYSTEM SETUP (Required) │
├────────────────────────────────────────────────────────────────┤
│ These are installed/configured FIRST: │
│ ✓ System updates and essential packages │
│ ✓ OpenSSH server (remote access) │
│ ✓ rsync, curl, wget (core utilities) │
│ ✓ SSH key configuration │
│ ✓ Docker & Docker Compose (container platform) │
│ ✓ Hard drive mounting (storage setup) │
│ │
│ These are REQUIRED for everything else to work. │
└────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────┐
│ PHASE 2: SERVICE SELECTION MENU (Optional) │
├────────────────────────────────────────────────────────────────┤
│ After Phase 1, you'll see a CHECKBOX MENU where you can: │
│ • Select which services to INSTALL │
│ • Select which services to UNINSTALL │
│ • Skip services you don't want │
│ │
│ Services include: │
│ • Self-hosted apps (ActualBudget, Authelia, Jellyfin, etc.) │
│ • Network services (Samba, VPNs, fail2ban) │
│ • Monitoring tools (Uptime Kuma, Portainer, Watchtower) │
│ • And many more... │
└────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────┐
│ RE-RUNNING THIS SCRIPT │
├────────────────────────────────────────────────────────────────┤
│ You can safely re-run this script on an already configured │
│ server: │
│ • Phase 1 will DETECT existing installations and skip them │
│ • Phase 2 menu will show ALL services (installed and not) │
│ • Select NEW services to add │
│ • Or select UNINSTALL to remove services │
│ │
│ The script is IDEMPOTENT - safe to run multiple times! │
└────────────────────────────────────────────────────────────────┘
Press ENTER to continue with Phase 1 (Essential Setup)...
EOF
read -p ""
# Now continue with the actual script...
EOF