- Update platform badge and status to Linux-only (macOS/WSL2 future)
- Remove v3.2.0/v3.3.0 "What's New" sections
- Update git clone URL to git.canadabot.net
- Remove deleted setup script from chmod and quick start
- Remove user-operations commands (file deleted)
- Drop macOS directory paths from directory structure
- Update support links from GitHub to Gitea
- Update cross-platform feature claim to Linux Native
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mark A2, A5, Q1, Q3 as DO FIRST before bug fixes -- consolidating
duplicate functions and the service catalog ensures each bug only
needs to be fixed in one place. Update order of attack accordingly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Deletes the incomplete, never-wired second install pipeline:
setup, privileged-setup, user-operations, services-improved,
lib/privileges.sh. Also removes committed dev artifacts
(summary7-19.txt, discord-header.md). Path A (hops -> install
-> services) is now the sole canonical pipeline.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Reset all Path A script versions from 3.x to 1.0.0 following architectural
decision to treat this as a fresh stable baseline after the Path B cleanup.
Added TODO.md with prioritized audit findings and replaced the old CHANGELOG
with a clean stub.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Update summary7-19.txt with complete resolution of Linux Mint Docker issue
- Add TROUBLESHOOTING.md with detailed solutions for common HOPS issues
- Document the critical case sensitivity bug fix (LinuxMint vs Linuxmint)
- Provide manual fixes for Docker service and directory detection issues
- Include recovery commands and system requirements
This resolves the Linux Mint repository detection issue completely.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
When running with sudo, $HOME becomes /root instead of the actual user's home.
Use $SUDO_USER to get the original user's home directory for HOPS deployment.
Fixes: ERROR: Homelab directory not found: /root/hops
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
lsb_release -is returns "Linuxmint" (lowercase m) not "LinuxMint"
- Fix condition in lib/system.sh Docker installation
- Fix condition in privileged-setup
- Fix condition in lib/privileges.sh
This was preventing UBUNTU_CODENAME detection from working properly.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive debug output to trace Docker installation execution paths
- Fix early return issue that was skipping Linux Mint repository fix
- Reorder Docker removal to clean repositories before running apt commands
- Add specific cleanup for Linux Mint codenames (xia, vera, vanessa)
- Prevent apt errors during existing Docker removal process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace Docker convenience script with manual repository setup in lib/system.sh
- Add proper Ubuntu codename detection for Linux Mint using UBUNTU_CODENAME from /etc/os-release
- Include fallback version mapping for older Linux Mint versions (22.x->noble, 21.x->jammy, 20.x->focal)
- Add debug output to track codename detection
- Resolves issue where get.docker.com script was using incorrect "xia" codename instead of "noble"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use UBUNTU_CODENAME from /etc/os-release for accurate Ubuntu base detection
- Fallback to version mapping if UBUNTU_CODENAME not available
- Fixes Docker installation on Linux Mint 22.1 where UBUNTU_CODENAME=noble
- More reliable than manual version mapping
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Ubuntu codename mapping for Linux Mint versions
- Map Mint 22.x to Ubuntu 24.04 (noble)
- Map Mint 21.x to Ubuntu 22.04 (jammy)
- Map Mint 20.x to Ubuntu 20.04 (focal)
- Resolves Docker installation failures caused by unsupported Mint codenames
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update README.md with new update functionality and command-line flags
- Add comprehensive v3.3.0 changelog entry with all new features
- Update version badges and feature highlights
- Fix script references from hops.sh to hops across all documentation
- Add upgrade path documentation for automatic updates
- Update management command examples
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add git-based update mechanism with backup functionality
- Support command-line flags: --update, --check-updates, --version, --help
- Interactive update checking via main menu (option 6)
- Automatic backup of local changes before updates
- Version comparison and changelog display
- Enhanced error handling for update process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Streamline main README to essential information only
- Create comprehensive INSTALLATION.md with platform-specific guides
- Add detailed SERVICES.md with complete service catalog and support links
- Add ADVANCED.md with configuration, security, and troubleshooting
- Add CHANGELOG.md with complete version history and migration guides
This reorganization reduces main README length by 90% while improving
discoverability and maintenance of detailed information.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
### Development Status Disclaimers
- Added prominent "Important Notices" section at top of README
- Clearly marked HOPS as beta software under active development
- Added platform testing status with specific WSL2 limitations
- Included comprehensive data safety and backup recommendations
### Key Warnings Added
- WSL2 support has limited testing and may have undiscovered issues
- Always maintain regular backups before using HOPS
- HOPS is not responsible for data loss during installation/operation
- Docker operations can be destructive - users should understand what they're installing
### Backup Strategy
- Provided clear backup commands for users
- Emphasized testing in non-production environments first
- Added backup recommendations for both before and after installation
### Platform Status Clarity
- Linux: Extensively tested and stable
- macOS: Recently improved with comprehensive compatibility fixes
- Windows WSL2: Limited testing - marked with warning indicators
These disclaimers are essential for public release to set proper expectations
and protect users from potential data loss while being transparent about
the current testing status across different platforms.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
### New Features
- Added Caddy reverse proxy as a service option
- Proper Docker container configuration with ports 80, 443, 2019
- Health check monitoring via Caddy admin API
- Volume mounts for Caddyfile, site content, and data persistence
- Integration with existing service selection and categorization
### Configuration Scope
- HOPS provides: Container setup, volume mounts, networking, health checks
- User provides: Caddyfile configuration, routing rules, SSL settings
- Clear documentation about configuration responsibilities
- Example Caddyfile provided in README
### Documentation Updates
- Updated README.md with Caddy service listing and configuration guide
- Updated CLAUDE.md with Caddy in supported services
- Added comprehensive configuration scope documentation
- Updated version references to 3.2.0
### Technical Implementation
- Added generate_caddy() function to services file
- Integrated Caddy into service selection switch
- Added port mapping for conflict detection (80, 443, 2019)
- Categorized under proxy & security services
- Added to available services listing
This addition provides users with another reverse proxy option while
maintaining HOPS' philosophy of providing infrastructure while allowing
users to maintain control over their specific configuration needs.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
### Major macOS Compatibility Improvements
- Enhanced Docker Desktop installation and startup process for macOS
- Fixed Docker authentication with macOS keychain integration
- Resolved user directory issues - all directories now use actual user home instead of root
- Fixed password generation issues with missing shuf command and encoding errors
- Improved container creation with proper working directory context
- Enhanced healthcheck monitoring, particularly for Jellyseerr service
### Bug Fixes
- Fixed Docker Compose version warnings by removing obsolete version attribute
- Resolved container startup issues with proper directory navigation
- Fixed file permission issues for config and media directories
- Enhanced cross-platform path handling functions
- Improved error handling and user feedback throughout installation process
### Code Quality Improvements
- Updated all version references to v3.2.0
- Enhanced documentation with macOS-specific improvements
- Improved cross-platform compatibility across all components
- Better error messages and troubleshooting guidance
This release significantly improves the macOS user experience and resolves
numerous compatibility issues that were preventing successful installation
and operation on macOS systems.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changes all version references from 3.1.0 to 3.1.0-beta across:
- Main scripts (hops, install, uninstall, setup, etc.)
- Library modules (lib/*.sh)
- Documentation (README.md)
This reflects the pre-release status of the project before public release.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove extraneous closing brace that was causing bash syntax validation to fail.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created comprehensive .gitignore file covering:
• Development documentation (CLAUDE.md)
• Log files and temporary files
• IDE/editor configurations
• OS-generated files
• Docker artifacts
• Environment files with secrets
- Removed CLAUDE.md from repository tracking while preserving local copy
- CLAUDE.md remains available for local development but won't be public
This keeps development documentation private while maintaining clean public repo.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Expanded support section with clear guidance on when to contact HOPS vs service developers
- Added direct GitHub repository links for all 25+ supported services organized by category:
• Media Management (*arr stack): Sonarr, Radarr, Lidarr, Readarr, Bazarr, Prowlarr, Tdarr, Huntarr
• Download Clients: qBittorrent, Transmission, NZBGet, SABnzbd
• Media Servers: Jellyfin, Plex, Emby
• Request Management: Overseerr, Jellyseerr, Ombi, Jellystat
• Network & Security: Traefik, Nginx Proxy Manager, Authelia
• Monitoring & Management: Portainer, Watchtower, Uptime Kuma
- Added clear distinction between HOPS deployment issues vs service-specific issues
- Included notes about retired projects (Readarr) and project status
- Provided proper attribution to help users get support from the right teams
This helps users understand that HOPS handles deployment automation while individual
services are maintained by their respective development teams.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated platform badge to include Windows support
- Added Windows system requirements (WSL2, Docker Desktop)
- Created detailed Windows installation section with:
• Step-by-step WSL2 setup instructions
• Docker Desktop installation and configuration
• WSL2-specific HOPS installation commands
• Important performance and file location notes
- Added Windows support to CLAUDE.md development docs
- Documented WSL2 compatibility analysis findings:
• 95% native Linux performance when using WSL2 filesystem
• Full bash script compatibility via Linux kernel
• Seamless Docker Desktop integration
• Cross-filesystem access for Windows media folders
- Updated "What's New" to highlight tri-platform support
- Verified current path functions work optimally in WSL2
HOPS now officially supports Linux, macOS, and Windows\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated platform badge to show Linux | macOS support
- Added macOS system requirements (Big Sur+, Intel/Apple Silicon)
- Updated prerequisites with platform-specific details:
• Linux: Root access, x86_64 architecture
• macOS: Admin access, automatic Homebrew/Docker installation
- Fixed installation commands for renamed scripts (no .sh extensions)
- Added cross-platform support to "What's New" features
- Clarified that HOPS works natively on both platforms
Now GitHub users will know macOS is fully supported\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Changed macOS deployment directory from ~/homelab/ to ~/hops/
- Updated all core scripts to use new path structure:
• Main working directory: ~/hops/
• Config directory: ~/hops/config/
• Media directory: ~/hops/media/
• Environment file: ~/hops/.env
- Updated documentation in CLAUDE.md and README.md
- Changed log file naming from homelab-* to hops-*
- Linux paths remain unchanged (/opt/appdata, /mnt/media)
Benefits:
- Better brand consistency with project name
- Cleaner, more professional directory structure
- Shorter, easier to remember paths
- Immediately obvious what directory belongs to HOPS
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Complete homelab orchestration and provisioning system
- Support for 20+ popular homelab services
- Interactive installation with dependency resolution
- Security hardening and firewall configuration
- Service health monitoring and management interface
- Comprehensive error handling with rollback capabilities
- Complete uninstaller with data preservation options
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>