Commit Graph

215 Commits

Author SHA1 Message Date
Kelin
faaf39002a Replace personal URLs with placeholders and fix variable replacement logic 2026-02-02 13:19:22 -05:00
Kelin
0041b15cc2 Fix Authelia password copying and update menu logic
- Fix password hash copying to user_database.yml by removing premature env cleanup
- Update menu case logic to match display options (1-4)
- Add input validation loop for better user experience
- Handle special menu options (prerequisites, NVIDIA drivers) appropriately
2026-02-01 01:12:03 -05:00
Kelin
ea5e34935b Resolve merge conflicts and restore local configuration
- Keep local DuckDNS subdomain and token customizations
- Preserve user-specific Authelia configuration
- Maintain local docker-compose customizations
2026-01-31 23:32:42 -05:00
EZ-Homelab Assistant
6c4a3362e0 feat: Major UI improvements to ez-homelab.sh
- Add professional ASCII box styling to main menu
- Implement interactive variable configuration with validation
- Add icons to all prompts (🌐 🌍 🦆 🔑 👤 🔒 📧 🏠)
- Create vanishing prompts that replace with status confirmations
- Add comprehensive menu system with proceed/review/quit options
- Show current configuration values before deployment choices
- Implement proper error handling for invalid inputs
- Add immediate quit functionality with 'q' during any prompt
- Improve spacing and visual hierarchy throughout interface
- Fix deployment flow to prevent accidental starts on invalid input
2026-01-31 05:41:30 -05:00
EZ-Homelab Assistant
41d9a4cd7f feat: standardize traefik.docker.network labels across all docker-compose files
- Add traefik.docker.network=traefik-network label to all local services with traefik.enable=true
- Ensures consistent network selection for Traefik IP discovery
- Prevents routing conflicts when services are on multiple networks
- Updated 12 docker-compose files with 32+ service labels
- Maintains dual network access (homelab-network + traefik-network) for web UIs
2026-01-30 23:45:55 -05:00
EZ-Homelab Assistant
90a26a9ac4 Fix homepage Traefik network routing and update configurations
- Add traefik.docker.network=traefik-network label to homepage service
- Prevent Traefik from using wrong IP from homelab-network
- Resolve 504 Gateway Timeout issues after authentication
- Update various docker-compose configurations and templates
- Clean up unused configuration files
2026-01-30 23:29:00 -05:00
EZ-Homelab Assistant
465c10ae42 fix: ensure script properly configures Traefik and Authelia
- Move Traefik traefik.yml to config/ directory for correct Docker mounting
- Remove invalid session.cookies section from Authelia template and config processing
- Ensure all configuration files are placed in correct locations for Docker containers
- Prevent configuration validation errors that cause service restarts
2026-01-30 19:42:05 -05:00
EZ-Homelab Assistant
072a3384fd fix: update Authelia template with valid password hash
- Replace CHANGEME placeholder with proper argon2 hash
- Default password is 'admin123' for initial setup
- Prevents argon2 decode errors on first startup
2026-01-30 19:18:04 -05:00
EZ-Homelab Assistant
c6fbcb785e fix: move Authelia config files to correct Docker mount location
- Move configuration.yml and users_database.yml to authelia/config/ directory
- Ensure files are in the correct location for Docker volume mount ./authelia/config:/config
- Prevent Authelia from using default configuration instead of processed template
2026-01-30 19:12:49 -05:00
EZ-Homelab Assistant
ea75ea9829 fix: remove REMOTE_SERVER_HOSTNAME dependencies for local deployments
- Remove local-host-production.yml for single-server setups
- Remove remote server sections from sablier.yml for local deployments
- Remove remote server entries from homepage services files when no REMOTE_SERVER_HOSTNAME is set
- Prevent placeholder replacement failures on files not needed for local deployments
2026-01-30 19:06:30 -05:00
EZ-Homelab Assistant
437eb37aff fix: resolve ez-homelab.sh issues for local deployments
- Fix variable substitution in prompt_for_values() to properly display DEFAULT_USER
- Only rename external-host-production.yml for multi-server setups (option 3)
- Prevent REMOTE_SERVER_HOSTNAME validation errors for local deployments (options 1-2)
- Ensure local deployments don't fail on missing remote server variables
2026-01-30 19:03:21 -05:00
EZ-Homelab Assistant
1dd6664968 feat: reorganize .env.example in alphabetical order
- Reorganize OTHER OPTIONAL CONFIGURATIONS section alphabetically by service name
- Improve user experience for finding specific service configurations
- Add clarifying comments for Authelia admin account variables
- Generalize AUTHELIA_ADMIN_PASSWORD to use DEFAULT_PASSWORD variable
2026-01-30 18:39:08 -05:00
Kelin
1225564694 Add UI tool availability check before running wizard
- Menu now checks for whiptail/dialog before launching wizard
- Prevents wizard crashes due to missing UI dependencies
- Provides clear error message and installation instructions
2026-01-29 22:41:31 -05:00
Kelin
8b89575bbb Fix pre-deployment wizard execution and return handling
- Changed menu to run wizard as subprocess instead of exec
- Removed wizard's exec of menu since it now returns naturally
- Wizard now properly returns to menu on completion or error
- Prevents terminal freezing when wizard crashes
2026-01-29 22:41:25 -05:00
Kelin
0bbed196ed Remove legacy Python virtual environment setup
- Removed setup_python_environment function and its call
- Commented out PYTHON_PACKAGES array as it's no longer needed
- Docker Compose V2 is built into Docker CLI, no Python package needed
- Streamlines setup process by removing unnecessary Python setup
2026-01-29 22:19:54 -05:00
Kelin
ea06ac1f92 Improve system package installation error handling
- Added sudo access check before attempting package installation
- Better error messages for apt update/install failures
- Graceful handling of package installation failures in main setup flow
- Provides specific guidance when package installation fails
2026-01-29 22:11:15 -05:00
Kelin
497965473c Fix dependency handling in preflight and setup scripts
- Changed required packages to warnings in preflight.sh (setup.sh installs them)
- Modified setup.sh to proceed with warnings from preflight checks
- Ensures Docker installation installs all dependencies automatically
- Preflight no longer fails on missing jq, tmux, etc.
2026-01-29 22:06:53 -05:00
Kelin
04050454f7 Add support for Debian 13 (Trixie) in OS validation
- Updated validate_os() function to accept Debian 13
- Enables testing on newer Debian versions including Raspberry Pi OS
2026-01-29 21:50:43 -05:00
Kelin
b2436bd81d Fix menu system error handling and OS detection
- Add comprehensive error handling to menu.sh to prevent crashes when scripts fail
- Fix OS detection in common.sh for lsb_release output parsing
- Modify preflight.sh to run all checks without early exit on failures
- Ensure menu navigation remains stable during testing phase
2026-01-29 21:42:37 -05:00
Kelin
9d320bf9f9 Fix menu.sh service counting robustness
- Add error handling to prevent script crashes during service enumeration
- Make service counting more robust against parsing failures
- Ensure menu displays properly even with docker-compose parsing issues
- Menu now shows complete interface with all 8 main options
2026-01-29 19:59:13 -05:00
Kelin
ea72ad7023 Add comprehensive README for enhanced setup system
- Complete documentation for the bash-based setup system
- Quick start guide with menu and manual usage options
- Architecture overview of all 4 phases
- Feature highlights and environment configuration
- Development guidelines and troubleshooting section
- Clear instructions for fresh installs and existing setups
2026-01-29 19:55:58 -05:00
Kelin
92c4002c18 Add unified menu interface for EZ-Homelab setup
- New menu.sh script provides single entry point for all functionality
- Interactive menu system with 7 main categories:
  * System Setup & Validation
  * Configuration Management
  * Deployment & Services
  * Monitoring & Maintenance
  * Backup & Recovery
  * Updates & Maintenance
  * Advanced Options
- Real-time system status display
- User-friendly navigation with clear instructions
- Integrates all existing scripts into cohesive interface
2026-01-29 19:55:49 -05:00
Kelin
f141848a10 Add EZ-Homelab Enhanced Setup System
- Complete modular bash-based setup system replacing Python TUI
- Phase 1-4 implementation: Core Infrastructure, Configuration Management, Deployment Engine, Service Orchestration & Management
- 9 production-ready scripts: preflight.sh, setup.sh, pre-deployment-wizard.sh, localize.sh, generalize.sh, validate.sh, deploy.sh, service.sh, monitor.sh, backup.sh, update.sh
- Shared libraries: common.sh (utilities), ui.sh (text interface)
- Template-based configuration system with environment variable substitution
- Comprehensive documentation: PRD, standards, and quick reference guides
- Automated backup, monitoring, and update management capabilities
- Cross-platform compatibility with robust error handling and logging
2026-01-29 19:53:36 -05:00
Kelin Reij
dd4ff47048 Add Raspberry Pi 4 test run summary
- Document ARM64-specific challenges and lessons learned
- Detail script improvements needed for ARM64 deployment
- Include performance considerations and testing recommendations
2026-01-29 17:57:54 -05:00
kelinfoxy
53f96c8422 feat: Add EZ-Homelab TUI deployment script
- Move ez-homelab.py to scripts/ folder for better organization
- Add working directory detection to ensure script works from any location
- Update README-TUI.md with correct script paths
- First commit of the new Python TUI for EZ-Homelab deployment
2026-01-29 16:43:42 -05:00
kelinfoxy
9c9762c700 docs: Update script references from ez-homelab-tui.py to ez-homelab.py
- Update README-TUI.md to reference the new simplified script name
- Change all command examples to use ez-homelab.py
- Update syntax check examples to use new filename
2026-01-28 22:14:18 -05:00
kelinfoxy
5319bbc79c docs: Add release notes for v0.1.1
- Document configuration improvements and documentation enhancements
- Detail homepage dashboard and Traefik routing updates
- Include upgrade instructions and known issues
v0.1.1
2026-01-28 21:59:10 -05:00
kelinfoxy
e8c7dc215f feat: Update EZ-Homelab configurations and documentation
- Update .env.example with latest environment variables
- Enhance homepage dashboard configurations and templates
- Improve Traefik routing templates for external hosts
- Update docker-compose files for dashboards and infrastructure
- Add comprehensive TUI documentation and PRD
- Add new Homelab-Audit documentation
- Remove outdated release notes
- Resolve merge conflicts with remote changes
2026-01-28 21:56:54 -05:00
kelinfoxy
7b4f562c68 feat: Update EZ-Homelab configurations and documentation
- Update .env.example with latest environment variables
- Enhance homepage dashboard configurations and templates
- Improve Traefik routing templates for external hosts
- Update docker-compose files for dashboards and infrastructure
- Add comprehensive TUI documentation and PRD
- Add new Homelab-Audit documentation
- Remove outdated release notes
2026-01-28 21:56:33 -05:00
Kelin
db0004ecab Fix sed delimiter issues in ez-homelab.sh
- Change sed commands to use | delimiter instead of / to prevent regex interpretation of variables
- Fixes 'unknown option to s' errors when DOMAIN contains special characters like dots
- Affects deploy_core, deploy_dashboards, and Traefik dynamic config processing
2026-01-28 04:22:09 -05:00
Kelin
7c72b5fdc6 Replace hardcoded server IP with variable in Traefik local-host config
- Change all hardcoded 192.168.4.11 IPs to  for proper templating
- Ensures config works for any server IP during deployment
2026-01-28 03:34:26 -05:00
Kelin
a22b44fe0d Update Traefik dynamic config templates to match working local configuration
- Rename external-host-production.yml to local-host-production.yml
- Update local-host-production.yml with complete service list from working setup, generalized with variables
- Update sablier.yml with complete middleware list from working setup, generalized with variables
- Ensure all  and  placeholders are properly templated for script deployment
2026-01-28 03:34:26 -05:00
Kelin
d62ea7f3df Update core docker-compose.yml to match working local configuration
- Change sablier volumes to use ./shared-ca:/certs:ro (matches script generation)
- Fix x-dockge URLs to use http:// for local access and correct variable syntax
- Ensure consistency with local working setup
2026-01-28 03:32:50 -05:00
Kelin
9ac61658a4 Fix placeholder replacement in deploy_core and deploy_dashboards functions
- Add manual sed replacements for remaining , ,  placeholders
- Ensure x-dockge URLs and other variables are properly substituted
- Improve robustness of environment variable replacement
2026-01-28 03:32:21 -05:00
kelinfoxy
bb19aeb9b1 Final updates to release notes for v0.1.0 2026-01-27 13:53:28 -05:00
kelinfoxy
1ca29f121d Simplify description to 'homelab infrastructure' for brevity 2026-01-27 13:46:53 -05:00
kelinfoxy
c124c764e0 Tone down 'production-ready' language to 'thoroughly tested' for accuracy 2026-01-27 13:43:35 -05:00
kelinfoxy
4adaeae7ce Update documentation for v0.1.0 release v0.1.0 2026-01-27 13:42:06 -05:00
kelinfoxy
552f0240b5 Docs update 2026-01-27 13:20:22 -05:00
kelinfoxy
ee93f26d52 Merge branch 'main' of https://github.com/kelinfoxy/EZ-Homelab 2026-01-26 23:45:56 -05:00
kelinfoxy
916e970994 Docs update 2026-01-26 23:45:28 -05:00
Kelin
ea91151829 Minor fixes and improvements to ez-homelab.sh 2026-01-26 23:24:23 -05:00
Kelin
7b70675aa1 Update README.md documentation 2026-01-26 19:51:44 -05:00
Kelin
1a78578be3 Update Docker Compose files for various stacks 2026-01-26 19:11:16 -05:00
Kelin
7eb0e97393 Add multi-server TLS setup instructions to manual setup guide 2026-01-26 18:38:53 -05:00
Kelin
62454130db Fix multi-server TLS setup to support password authentication and improve error handling 2026-01-26 18:16:35 -05:00
Kelin
e2d28b5208 feat: Improve TLS handling for multi-server deployments
- Add CORE_SERVER_IP variable for remote server configuration
- Implement setup_multi_server_tls() function for shared CA management
- Change TLS failure handling from exit-on-error to warning-based approach
- Add TLS_ISSUES_SUMMARY for end-of-deployment remediation guidance
- Update documentation for automated TLS setup process
- Add comprehensive AI assistant instructions for project management

This allows deployments to complete successfully even with TLS issues,
providing clear remediation steps instead of failing the entire setup.
2026-01-26 16:34:25 -05:00
Kelin
3076232e8f Fix permission errors in perform_deployment() function
- Use sudo for creating /opt directories during deployment
- Use sudo for copying files to /opt/dockge and /opt/stacks
- Ensure proper ownership of deployment directories
- Fix mkdir command for dashboards directory
2026-01-26 00:08:41 -05:00
Kelin
52e0697311 Fix share_certs_with_core() to handle missing shared CA gracefully
- Check if shared CA exists on core server before attempting to copy
- Generate local shared CA if core server doesn't have certificates
- Provide clear instructions for manual certificate synchronization
- Remove script failure when certificates can't be copied
- Allow infrastructure deployment to continue with local CA generation
2026-01-26 00:05:26 -05:00
Kelin
89ca29918b Implement shared CA certificate system for multi-server TLS security
- Generate shared CA during core deployment for consistent trust across servers
- Modify setup_docker_tls() to use shared CA instead of per-server CAs
- Update share_certs_with_core() to copy shared CA from core server
- Re-enable TLS verification (DOCKER_TLS_VERIFY=1) in Sablier
- Fix Sablier certificate mounting for proper TLS connection
- Add docker-tls/ to .gitignore to prevent certificate leaks
- Update documentation for shared CA approach
2026-01-25 23:08:01 -05:00