Stephen Klein 3cba0998a7 Consolidate duplicate functions, bump to v1.0.1
- Remove duplicate log/error_exit/warning/success/info from hops and
  uninstall; remove validate_password, generate_secure_password,
  create_docker_networks, validate_timezone from install. Single
  canonical copies now live in lib/common.sh, lib/security.sh,
  lib/validation.sh, and lib/docker.sh (A5, Q1)
- Fix lib/docker.sh, lib/validation.sh, lib/security.sh to use LIB_DIR
  instead of SCRIPT_DIR so sourcing them inside a function does not
  clobber the caller's SCRIPT_DIR
- Move SCRIPT_VERSION to lib/common.sh as the single source of truth;
  remove local declarations from hops, install, and uninstall
- uninstall now sources lib/common.sh directly for standalone safety
- validate_timezone updated to warn-and-default instead of error_exit
- validate_password updated to handle empty input (return 3)
- Update CHANGELOG and TODO to reflect resolved items (B1-B6, A1, A3,
  A5, Q1) and bump version to 1.0.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 22:11:34 -04:00
2025-07-12 06:42:48 -04:00
2026-06-10 21:54:46 -04:00

HOPS - Homelab Orchestration Provisioning Script

License: MIT Version Platform

HOPS is a comprehensive automation tool for deploying homelab infrastructure using Docker Compose. Deploy and manage popular homelab services including media servers, download clients, monitoring tools, and more through an intuitive menu-driven interface.

Important: Beta Software

HOPS is beta software. Always backup your data before installation and test in non-production environments first.

Platform Status:

  • Linux: Stable and actively developed

Key Features

  • Easy Installation: One-command setup with automatic Docker installation
  • Security First: Encrypted secrets, firewall configuration, input validation
  • Management: Real-time monitoring, centralized logs, service control
  • Auto-Updates: Built-in update system with backup protection
  • Reliability: Error handling, rollback capabilities, dependency management
  • Linux Native: Ubuntu, Debian, and Linux Mint support

Supported Services

Media Management: Sonarr, Radarr, Lidarr, Readarr, Bazarr, Prowlarr, Tdarr, Huntarr
Download Clients: qBittorrent, Transmission, NZBGet, SABnzbd
Media Servers: Jellyfin, Plex, Emby, Jellystat
Request Management: Overseerr, Jellyseerr, Ombi
Reverse Proxy: Traefik, Nginx Proxy Manager, Caddy, Authelia
Monitoring: Portainer, Uptime Kuma, Watchtower

View complete service list with support links →

System Requirements

Minimum: 2GB RAM, 10GB storage, 2 CPU cores, internet connection

Supported Platforms:

  • Linux: Ubuntu 20.04+, Debian 11+, Linux Mint 20+ (x86_64, sudo access)

View detailed installation guides →

Quick Start

# 1. Download HOPS
git clone https://git.canadabot.net/canadabot/hops.git
cd hops
chmod +x hops install uninstall

# 2. Run installation
sudo ./hops

# 3. Follow interactive setup to select services

# 4. Access your services
# URLs will be provided after installation

Directory Structure:

  • ~/hops/ - Main deployment (docker-compose.yml, .env, logs)
  • /opt/appdata/ - App configs
  • /mnt/media/ - Media storage

Management

# Access management interface
sudo ./hops

# Update HOPS
sudo ./hops --update # Update to latest version
sudo ./hops --check-updates # Check for updates
./hops --version # Show version
./hops --help # Show help

View advanced configuration and troubleshooting →

Support

HOPS Issues: Gitea Issues

Service Issues: Contact individual service developers (links in SERVICES.md)

Contact HOPS for: Installation/deployment issues, Docker Compose problems, cross-platform issues
Contact Service Developers for: Service configuration, features, service-specific bugs

Documentation

License

MIT License - see LICENSE file for details.


Made for the homelab community

S
Description
Homelab Orchestration Provisioning Script
Readme MIT 415 KiB
Languages
Shell 100%