diff --git a/src/web/install_caddy.sh b/src/web/install_caddy.sh index 292f809..b8480ea 100644 --- a/src/web/install_caddy.sh +++ b/src/web/install_caddy.sh @@ -37,10 +37,10 @@ PROMETHEUS_PASSWORD=dev-placeholder-password LOKI_PASSWORD=dev-placeholder-password EOF else - echo "[ WEB ]: Starting containers to generate keys..." - cd "$caddy_dir" + echo "[ WEB ]: Installing apache2-utils for password hashing..." + sudo apt-get update + sudo apt-get install -y apache2-utils - # Prompt user for passwords and encrypt them using Caddy echo "[ WEB ]: Setting up authentication passwords..." echo -n "Enter password for Prometheus access: " read -s prometheus_plain_password @@ -49,15 +49,17 @@ EOF read -s loki_plain_password echo - # Create .env file with placeholder - cat >"$caddy_dir/.env" </dev/null 2>&1; then - echo "[ WEB ]: Caddy is ready!" - break - fi - echo "[ WEB ]: Waiting for Caddy... ($i/30)" - sleep 2 - done - - # Check if Caddy is ready - if ! sudo docker exec caddy caddy version >/dev/null 2>&1; then - echo "[ WEB ]: ERROR: Caddy failed to start properly. Check logs with: docker compose logs caddy" - return 1 - fi - # Generate CrowdSec API key echo "[ WEB ]: Generating CrowdSec API key..." CROWDSEC_API_KEY=$(sudo docker exec crowdsec cscli bouncers add caddy-bouncer -o raw) - # Encrypt passwords using Caddy - echo "[ WEB ]: Encrypting Prometheus password..." - PROMETHEUS_PASSWORD=$(sudo docker exec caddy caddy hash-password --plaintext "$prometheus_plain_password") - echo "[ WEB ]: Encrypting Loki password..." - LOKI_PASSWORD=$(sudo docker exec caddy caddy hash-password --plaintext "$loki_plain_password") - - # Update .env file with real API key and encrypted passwords + # Create final .env file with all real values cat >"$caddy_dir/.env" <