diff --git a/README.md b/README.md index 827a514..d2ef79f 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,9 @@ - **🚀 Docker Desktop Integration**: Improved Docker Desktop startup and management - **⚡ Better Error Handling**: Enhanced error messages and troubleshooting for macOS +### New Features +- **🌐 Caddy Support**: Added Caddy reverse proxy as a service option (configuration not included) + ### Bug Fixes - **🔧 Fixed password generation**: Resolved `shuf` command and encoding issues on macOS - **🐳 Fixed container creation**: Resolved Docker Compose working directory issues @@ -114,6 +117,7 @@ HOPS (Homelab Orchestration Provisioning Script) automates the deployment of a c ### 🔒 Reverse Proxy & Security - **Traefik** - Modern reverse proxy with automatic SSL - **Nginx Proxy Manager** - Easy-to-use reverse proxy +- **Caddy** - Automatic HTTPS web server (*configuration not included*) - **Authelia** - Authentication and authorization server ### 📈 Monitoring & Management @@ -322,6 +326,33 @@ DOMAIN=yourdomain.com ACME_EMAIL=admin@yourdomain.com ``` +### Service-Specific Configuration + +#### Caddy Configuration +**Important**: HOPS provides the Caddy container but **does not include Caddyfile configuration**. Users must provide their own Caddyfile. + +```bash +# Create Caddy configuration directory +mkdir -p ~/hops/config/caddy + +# Create your Caddyfile (example) +cat > ~/hops/config/caddy/Caddyfile << 'EOF' +# Example Caddyfile - customize as needed +example.com { + reverse_proxy jellyfin:8096 +} + +api.example.com { + reverse_proxy overseerr:5055 +} +EOF + +# Caddy will automatically handle HTTPS certificates +# Documentation: https://caddyserver.com/docs/ +``` + +**Configuration Scope**: HOPS installs and runs the Caddy container with proper volume mounts, but all routing, SSL, and proxy configuration is the user's responsibility. + ### Service Management Commands ```bash # NEW: User operations script (runs without sudo) diff --git a/install b/install index 255082e..b64f2bb 100755 --- a/install +++ b/install @@ -8,7 +8,7 @@ install_hops() { set -e # Script version for update tracking - local SCRIPT_VERSION="3.1.0-beta" + local SCRIPT_VERSION="3.2.0" local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Load system utilities diff --git a/lib/security.sh b/lib/security.sh index 18fb324..7048f49 100644 --- a/lib/security.sh +++ b/lib/security.sh @@ -2,7 +2,7 @@ # HOPS - Security Functions # Password generation, validation, and security utilities -# Version: 3.1.0-beta +# Version: 3.2.0 # Source common functions SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" diff --git a/lib/system.sh b/lib/system.sh index 1ecd951..2ef83e2 100644 --- a/lib/system.sh +++ b/lib/system.sh @@ -2,7 +2,7 @@ # HOPS - System Validation Functions # Functions for system checks, OS detection, and requirements validation -# Version: 3.1.0-beta +# Version: 3.2.0 # Source common functions LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" diff --git a/services b/services index 8351689..f8e2f84 100755 --- a/services +++ b/services @@ -2,7 +2,7 @@ # HOPS Service Definitions # Contains all Docker Compose service configurations -# Version: 3.1.0-beta +# Version: 3.2.0 # This script provides functions to generate Docker Compose service definitions # Usage: Source this script and call generate_service_definition @@ -722,6 +722,39 @@ $(get_homelab_network) EOF } +generate_caddy() { + cat <