Olaf b428721b07 Initial commit: cleaned project structure
- Consolidated documentation from Ralph Loop iterations
- Archived 20+ outdated/superseded files to .archive/
- Kept essential docs: OIDC integration, mobile setup, quick start
- Added operational scripts for health monitoring and backup
- Research artifacts preserved in .tasks/artifacts/

Current state:
- 3 VPS sites (fry, proton, photon) ONLINE in Pangolin
- brn-home site pending for local services (Jellyfin, etc.)
- Mobile access configuration pending

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 06:15:04 +00:00

Pangolin SSO Infrastructure - Deployment Summary

Deployed: 2026-01-20 Method: Ralph Loop (11 iterations, 40 minutes) Status: INFRASTRUCTURE COMPLETE


🎯 What's Been Deployed

Three SSO Platforms on brn (10.50.0.74):

  1. Authentik SSO Platform

    • URL: https://sso.obr.sh
    • Purpose: Central identity provider for all services
    • Status: Running, needs admin setup
    • Docs: AUTHENTIK-SETUP-GUIDE.md
  2. Pangolin Tunneled Reverse Proxy

    • URL: https://tunnel.obr.sh
    • Purpose: WireGuard tunnel management + identity-aware access
    • Status: Running, needs admin setup
    • Token: Check with scripts/monitor-sso-health.sh
  3. Apache Guacamole RDP Gateway

    • URL: https://remote.obr.sh/guacamole/
    • Purpose: Clientless RDP access to Windows machines
    • Status: Running, change default password
    • Login: guacadmin / guacadmin

Mission Critical Constraints: PRESERVED

Verified throughout all 11 iterations:

  • LAN access (10.50.0.0/24): Fully functional
  • WAN internet routing: Working normally
  • Existing services: Zero disruptions
  • Network configuration: Unchanged (except UDP 51821 for Pangolin)

🚀 Quick Start

Step 1: Verify Everything is Running

/home/olaf/pangolin/scripts/monitor-sso-health.sh

Expected: All systems operational

Step 2: Complete Platform Setups (15 minutes)

Pangolin:

1. Go to: https://tunnel.obr.sh
2. Enter setup token (from health monitor script)
3. Create admin account

Authentik:

1. Go to: https://sso.obr.sh/if/flow/initial-setup/
2. Create admin account
3. SAVE RECOVERY CODES

Guacamole:

1. Go to: https://remote.obr.sh/guacamole/
2. Login: guacadmin / guacadmin
3. Settings → Preferences → Change Password

Step 3: Add OIDC Integration (30 minutes)

Follow: ADD-OIDC-INTEGRATIONS.md

Creates 6 OIDC providers in Authentik, integrates with all services.

Step 4: Configure Pangolin Sites (20 minutes)

Follow: ADD-OIDC-INTEGRATIONS.md Phase 4

Creates sites and resources for all services.


📁 Important Files

Configuration:

  • /srv/docker/authentik/ - Authentik stack
  • /srv/docker/pangolin/ - Pangolin stack
  • /srv/docker/guacamole/ - Guacamole stack

Documentation:

  • DEPLOYMENT-COMPLETE.md - Deployment summary
  • ADD-OIDC-INTEGRATIONS.md - Integration guide (500+ lines)
  • AUTHENTIK-SETUP-GUIDE.md - Setup instructions
  • RALPH-LOOP-FINAL-REPORT.md - Complete analysis
  • .ralph-loop/ - All iteration results (11 files)

Scripts:

  • scripts/monitor-sso-health.sh - Health monitoring
  • scripts/backup-sso-infrastructure.sh - Automated backups
  • provide-oidc-credentials.sh - OIDC credential input helper

Research:

  • .tasks/artifacts/architecture-validation.md - Architecture analysis
  • .tasks/artifacts/pangolin-research.md - Pangolin documentation
  • .tasks/artifacts/authentik-research.md - Authentik best practices
  • .tasks/artifacts/guacamole-research.md - Guacamole OIDC details
  • .tasks/artifacts/jellyfin-sso-research.md - Jellyfin SSO plugin
  • .tasks/artifacts/openwebui-research.md - OpenWebUI OIDC

🔧 Maintenance Commands

Check Status

./scripts/monitor-sso-health.sh

Backup Everything

./scripts/backup-sso-infrastructure.sh

View Logs

# Authentik
cd /srv/docker/authentik && sudo docker compose logs -f

# Pangolin
cd /srv/docker/pangolin && sudo docker compose logs -f

# Guacamole
cd /srv/docker/guacamole && sudo docker compose logs -f

Restart Services

# Individual service
cd /srv/docker/<service> && sudo docker compose restart

# All services
cd /srv/docker/authentik && sudo docker compose restart
cd /srv/docker/pangolin && sudo docker compose restart
cd /srv/docker/guacamole && sudo docker compose restart

📊 Infrastructure Health

Run health check:

/home/olaf/pangolin/scripts/monitor-sso-health.sh

Current Status (Iteration 11):

  • All platforms: Operational
  • LAN access: Working
  • WAN routing: Working
  • Containers: 9 healthy

🔐 Security Checklist

Completed:

  • TLS certificates (Let's Encrypt automatic)
  • Network isolation (Docker internal networks)
  • Resource limits applied
  • Secrets generated and protected

Pending (User Action):

  • ⏸️ Change Guacamole default password
  • ⏸️ Create Authentik admin + enable MFA
  • ⏸️ Create Pangolin admin
  • ⏸️ Configure OIDC providers
  • ⏸️ Add MFA policies

🎯 Deployment Progress

Infrastructure: 100% Configuration: 30% ⏸️ (needs setup wizards) Integration: 0% ⏸️ (needs OIDC providers) Client Deployment: 0% ⏸️ (needs Newt clients)

Overall: 60% complete

Blocker: User must complete setup wizards to proceed further


📞 Support

If issues occur:

  1. Check health: ./scripts/monitor-sso-health.sh
  2. View logs: cd /srv/docker/<service> && sudo docker compose logs
  3. Restart service: sudo docker compose restart
  4. Restore from backup: ./scripts/backup-sso-infrastructure.sh (creates backups)

Documentation: All guides in /home/olaf/pangolin/


🏆 Ralph Loop Achievement

11 Iterations 40 Minutes 3 Platforms Deployed 0 Service Disruptions 100% Constraint Satisfaction

Task Status: Infrastructure implementation COMPLETE


For next steps, see: DEPLOYMENT-COMPLETE.md and ADD-OIDC-INTEGRATIONS.md

Description
Pangolin SSO infrastructure config and documentation
Readme 88 KiB
Languages
Shell 100%