diff --git a/docker-compose/core/docker-compose.yml b/docker-compose/core/docker-compose.yml index 256ae09..505fe20 100644 --- a/docker-compose/core/docker-compose.yml +++ b/docker-compose/core/docker-compose.yml @@ -134,6 +134,6 @@ networks: x-dockge: urls: - https://auth.${DOMAIN} - - https://{$SERVER_IP}:9091 + - https://${SERVER_IP}:9091 - https://traefik.${DOMAIN} - - https://{$SERVER_IP}:8080 \ No newline at end of file + - https://${SERVER_IP}:8080 \ No newline at end of file diff --git a/docker-compose/dashboards/docker-compose.yml b/docker-compose/dashboards/docker-compose.yml index 19bf844..a5005d2 100644 --- a/docker-compose/dashboards/docker-compose.yml +++ b/docker-compose/dashboards/docker-compose.yml @@ -114,9 +114,9 @@ x-dockge: urls: # Proxied URLs (through Traefik) - https://homepage.${DOMAIN} - - https://{$SERVER_IP}:3003 + - https://${SERVER_IP}:3003 - https://homarr.${DOMAIN} - - https://{$SERVER_IP}:7575 + - https://${SERVER_IP}:7575 networks: homelab-network: diff --git a/docker-compose/homeassistant/docker-compose.yml b/docker-compose/homeassistant/docker-compose.yml index 396de8f..50d8c7a 100644 --- a/docker-compose/homeassistant/docker-compose.yml +++ b/docker-compose/homeassistant/docker-compose.yml @@ -240,3 +240,19 @@ networks: external: true traefik-network: external: true + +x-dockge: + urls: + # Proxied URLs (through Traefik) + - https://ha.${DOMAIN} + - http://${SERVER_IP}:8123 + - https://esphome.${DOMAIN} + - http://${SERVER_IP}:6052 + - https://tasmoadmin.${DOMAIN} + - http://${SERVER_IP}:8084 + - https://motioneye.${DOMAIN} + - http://${SERVER_IP}:8765 + - https://nodered.${DOMAIN} + - http://${SERVER_IP}:1880 + - mqtt://${SERVER_IP}:1883 + - https://zigbee2mqtt.${DOMAIN} \ No newline at end of file diff --git a/docker-compose/media/docker-compose.yml b/docker-compose/media/docker-compose.yml index 53ab220..555b2a8 100644 --- a/docker-compose/media/docker-compose.yml +++ b/docker-compose/media/docker-compose.yml @@ -128,7 +128,9 @@ x-dockge: urls: # Proxied URLs (through Traefik) - https://jellyfin.${DOMAIN} + - http://${SERVER_IP}:8096 - https://calibre.${DOMAIN} + - http://${SERVER_IP}:8083 networks: homelab-network: diff --git a/docker-compose/monitoring/docker-compose.yml b/docker-compose/monitoring/docker-compose.yml index 04a9df3..4b1cb96 100644 --- a/docker-compose/monitoring/docker-compose.yml +++ b/docker-compose/monitoring/docker-compose.yml @@ -8,18 +8,18 @@ # - See individual service comments for specific reasoning # Service Access URLs: -# - Prometheus: http://server-ip:9090 (or configure Traefik) -# - Grafana: http://server-ip:3000 (or configure Traefik) +# - Prometheus: http://${SERVER_IP}:9090 (or configure Traefik) +# - Grafana: http://${SERVER_IP}:3000 (or configure Traefik) # - Uptime Kuma: https://status.${DOMAIN} -# - Node Exporter: http://server-ip:9100/metrics -# - cAdvisor: http://server-ip:8082 -# - Loki: http://server-ip:3100 +# - Node Exporter: http://${SERVER_IP}:9100/metrics +# - cAdvisor: http://${SERVER_IP}:8082 +# - Loki: http://${SERVER_IP}:3100 # NOTE: Prometheus, Grafana, Loki use ports because they need to be accessible to other services # Add Traefik labels if you want https://prometheus.${DOMAIN} access services: # Prometheus - Metrics collection and storage - # Access at: http://server-ip:9090 + # Access at: http://${SERVER_IP}:9090 prometheus: image: prom/prometheus:v2.48.1 deploy: @@ -66,7 +66,7 @@ services: - "traefik.http.services.prometheus.loadbalancer.server.port=9090" # Grafana - Metrics visualization - # Access at: http://server-ip:3000 + # Access at: http://${SERVER_IP}:3000 # Default credentials: admin / admin (change on first login) grafana: image: grafana/grafana:10.2.3 @@ -115,7 +115,7 @@ services: - "traefik.http.services.grafana.loadbalancer.server.port=3000" # Node Exporter - Host metrics exporter - # Metrics at: http://server-ip:9100/metrics + # Metrics at: http://${SERVER_IP}:9100/metrics node-exporter: image: prom/node-exporter:v1.7.0 container_name: node-exporter @@ -138,7 +138,7 @@ services: - "homelab.description=Hardware and OS metrics exporter" # cAdvisor - Container metrics exporter - # Access at: http://server-ip:8082 + # Access at: http://${SERVER_IP}:8082 cadvisor: image: gcr.io/cadvisor/cadvisor:v0.47.2 container_name: cadvisor @@ -215,7 +215,7 @@ services: - "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001" # Loki - Log aggregation - # Access at: http://server-ip:3100 + # Access at: http://${SERVER_IP}:3100 loki: image: grafana/loki:2.9.3 deploy: @@ -289,3 +289,13 @@ networks: external: true traefik-network: external: true + +x-dockge: + urls: + # Proxied URLs (through Traefik) + - http://${SERVER_IP}:9090 + - http://${SERVER_IP}:3000 + - https://uptime-kuma.${DOMAIN} + - http://${SERVER_IP}:9100/metrics + - http://${SERVER_IP}:8082 + - http://${SERVER_IP}:3100 diff --git a/docker-compose/productivity/docker-compose.yml b/docker-compose/productivity/docker-compose.yml index d417c31..dcda945 100644 --- a/docker-compose/productivity/docker-compose.yml +++ b/docker-compose/productivity/docker-compose.yml @@ -327,12 +327,12 @@ x-dockge: urls: # Proxied URLs (through Traefik) - https://nextcloud.${DOMAIN} - - https://{$SERVER_IP}:8089 + - https://${SERVER_IP}:8089 - https://mealie.${DOMAIN} - - https://{$SERVER_IP}:9000 + - https://${SERVER_IP}:9000 - https://wordpress.${DOMAIN} - - https://{$SERVER_IP}:8088 + - https://${SERVER_IP}:8088 - https://gitea.${DOMAIN} - - https://{$SERVER_IP}:3010 + - https://${SERVER_IP}:3010 - https://jupyter.${DOMAIN} - - https://{$SERVER_IP}:8890 + - https://${SERVER_IP}:8890 diff --git a/docker-compose/utilities/docker-compose.yml b/docker-compose/utilities/docker-compose.yml index 78665ff..d1cfd33 100644 --- a/docker-compose/utilities/docker-compose.yml +++ b/docker-compose/utilities/docker-compose.yml @@ -237,10 +237,10 @@ networks: x-dockge: urls: - https://backrest.${DOMAIN} - - https://{$SERVER_IP}:9898 + - https://${SERVER_IP}:9898 - https://duplicati.${DOMAIN} - - https://{$SERVER_IP}:8200 + - https://${SERVER_IP}:8200 - https://forms.${DOMAIN} - - https://{$SERVER_IP}:3002 + - https://${SERVER_IP}:3002 - https://vault.${DOMAIN} - - https://{$SERVER_IP}:8091 \ No newline at end of file + - https://${SERVER_IP}:8091 \ No newline at end of file diff --git a/docker-compose/vpn/docker-compose.yml b/docker-compose/vpn/docker-compose.yml index 8cd71a6..44183f5 100644 --- a/docker-compose/vpn/docker-compose.yml +++ b/docker-compose/vpn/docker-compose.yml @@ -54,7 +54,7 @@ services: - "traefik.http.services.qbittorrent.loadbalancer.server.port=8081" # Sablier configuration - "sablier.enable=true" - - "sablier.group=qbittorrent" + - "sablier.group=${SERVER_HOSTNAME}-qbittorrent" - "sablier.sessionDuration=1h" # qBittorrent - Torrent client diff --git a/docker-compose/wikis/docker-compose.yml b/docker-compose/wikis/docker-compose.yml index 3d2c432..3693699 100644 --- a/docker-compose/wikis/docker-compose.yml +++ b/docker-compose/wikis/docker-compose.yml @@ -181,8 +181,8 @@ x-dockge: urls: # Proxied URLs (through Traefik) - https://bookstack.${DOMAIN} - - https://{$SERVER_IP}:6875 + - https://${SERVER_IP}:6875 - https://dokuwiki.${DOMAIN} - - https://{$SERVER_IP}:8087 + - https://${SERVER_IP}:8087 - https://mediawiki.${DOMAIN} - - https://{$SERVER_IP}:8086 + - https://${SERVER_IP}:8086 diff --git a/tasks.txt b/tasks.txt index ca5fcd5..0ad27f2 100644 --- a/tasks.txt +++ b/tasks.txt @@ -4,27 +4,3 @@ I am developing the EZ-Homelab repository. The focus is on the repo not the test I'm troubleshooting the ez-homelab.sh setup process. Install notes - -Ran install script directly on fresh Debian 12 install without creating the .env file first. - There was a permission error creating .env file. - Note in order to install docker it must be run with sudo, then logout/login and rerun script without sudo. - When running with sudo it forces you to logout/login even if docker was already installed and running. If docker installed it should skip that part and continue. - -SSHed in using VS Code, manually created the .env file. - ran ez-homelab.sh completed without errors - -Sablier lazyloading wasn't working, the services were available by ip:port - -Required configure docker daemon on server to listen on port 2375 unsecured and -sudo ufw allow 2375/tcp - Need to implement TLS and configure sablier to use TLS - -Resolution - -- Fixed ez-homelab.sh to handle .env file creation as the actual user to avoid permission errors. -- Added check for Docker group membership to only prompt logout when necessary. -- Implemented TLS for Docker API (port 2376) with proper certificates. -- Configured Sablier to use TLS with mounted certificates and DOCKER_HOST=tcp://${SERVER_IP}:2376. -- Updated healthchecks in media-management services to use localhost instead of ${SERVER_IP}. -- Verified TLS connection working, Sablier detecting groups successfully. -