Update Docker Compose files for various stacks

This commit is contained in:
Kelin
2026-01-26 19:11:16 -05:00
parent 7eb0e97393
commit 1a78578be3
10 changed files with 55 additions and 51 deletions

View File

@@ -134,6 +134,6 @@ networks:
x-dockge: x-dockge:
urls: urls:
- https://auth.${DOMAIN} - https://auth.${DOMAIN}
- https://{$SERVER_IP}:9091 - https://${SERVER_IP}:9091
- https://traefik.${DOMAIN} - https://traefik.${DOMAIN}
- https://{$SERVER_IP}:8080 - https://${SERVER_IP}:8080

View File

@@ -114,9 +114,9 @@ x-dockge:
urls: urls:
# Proxied URLs (through Traefik) # Proxied URLs (through Traefik)
- https://homepage.${DOMAIN} - https://homepage.${DOMAIN}
- https://{$SERVER_IP}:3003 - https://${SERVER_IP}:3003
- https://homarr.${DOMAIN} - https://homarr.${DOMAIN}
- https://{$SERVER_IP}:7575 - https://${SERVER_IP}:7575
networks: networks:
homelab-network: homelab-network:

View File

@@ -240,3 +240,19 @@ networks:
external: true external: true
traefik-network: traefik-network:
external: true 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}

View File

@@ -128,7 +128,9 @@ x-dockge:
urls: urls:
# Proxied URLs (through Traefik) # Proxied URLs (through Traefik)
- https://jellyfin.${DOMAIN} - https://jellyfin.${DOMAIN}
- http://${SERVER_IP}:8096
- https://calibre.${DOMAIN} - https://calibre.${DOMAIN}
- http://${SERVER_IP}:8083
networks: networks:
homelab-network: homelab-network:

View File

@@ -8,18 +8,18 @@
# - See individual service comments for specific reasoning # - See individual service comments for specific reasoning
# Service Access URLs: # Service Access URLs:
# - Prometheus: http://server-ip:9090 (or configure Traefik) # - Prometheus: http://${SERVER_IP}:9090 (or configure Traefik)
# - Grafana: http://server-ip:3000 (or configure Traefik) # - Grafana: http://${SERVER_IP}:3000 (or configure Traefik)
# - Uptime Kuma: https://status.${DOMAIN} # - Uptime Kuma: https://status.${DOMAIN}
# - Node Exporter: http://server-ip:9100/metrics # - Node Exporter: http://${SERVER_IP}:9100/metrics
# - cAdvisor: http://server-ip:8082 # - cAdvisor: http://${SERVER_IP}:8082
# - Loki: http://server-ip:3100 # - Loki: http://${SERVER_IP}:3100
# NOTE: Prometheus, Grafana, Loki use ports because they need to be accessible to other services # 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 # Add Traefik labels if you want https://prometheus.${DOMAIN} access
services: services:
# Prometheus - Metrics collection and storage # Prometheus - Metrics collection and storage
# Access at: http://server-ip:9090 # Access at: http://${SERVER_IP}:9090
prometheus: prometheus:
image: prom/prometheus:v2.48.1 image: prom/prometheus:v2.48.1
deploy: deploy:
@@ -66,7 +66,7 @@ services:
- "traefik.http.services.prometheus.loadbalancer.server.port=9090" - "traefik.http.services.prometheus.loadbalancer.server.port=9090"
# Grafana - Metrics visualization # Grafana - Metrics visualization
# Access at: http://server-ip:3000 # Access at: http://${SERVER_IP}:3000
# Default credentials: admin / admin (change on first login) # Default credentials: admin / admin (change on first login)
grafana: grafana:
image: grafana/grafana:10.2.3 image: grafana/grafana:10.2.3
@@ -115,7 +115,7 @@ services:
- "traefik.http.services.grafana.loadbalancer.server.port=3000" - "traefik.http.services.grafana.loadbalancer.server.port=3000"
# Node Exporter - Host metrics exporter # Node Exporter - Host metrics exporter
# Metrics at: http://server-ip:9100/metrics # Metrics at: http://${SERVER_IP}:9100/metrics
node-exporter: node-exporter:
image: prom/node-exporter:v1.7.0 image: prom/node-exporter:v1.7.0
container_name: node-exporter container_name: node-exporter
@@ -138,7 +138,7 @@ services:
- "homelab.description=Hardware and OS metrics exporter" - "homelab.description=Hardware and OS metrics exporter"
# cAdvisor - Container metrics exporter # cAdvisor - Container metrics exporter
# Access at: http://server-ip:8082 # Access at: http://${SERVER_IP}:8082
cadvisor: cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.47.2 image: gcr.io/cadvisor/cadvisor:v0.47.2
container_name: cadvisor container_name: cadvisor
@@ -215,7 +215,7 @@ services:
- "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001" - "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001"
# Loki - Log aggregation # Loki - Log aggregation
# Access at: http://server-ip:3100 # Access at: http://${SERVER_IP}:3100
loki: loki:
image: grafana/loki:2.9.3 image: grafana/loki:2.9.3
deploy: deploy:
@@ -289,3 +289,13 @@ networks:
external: true external: true
traefik-network: traefik-network:
external: true 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

View File

@@ -327,12 +327,12 @@ x-dockge:
urls: urls:
# Proxied URLs (through Traefik) # Proxied URLs (through Traefik)
- https://nextcloud.${DOMAIN} - https://nextcloud.${DOMAIN}
- https://{$SERVER_IP}:8089 - https://${SERVER_IP}:8089
- https://mealie.${DOMAIN} - https://mealie.${DOMAIN}
- https://{$SERVER_IP}:9000 - https://${SERVER_IP}:9000
- https://wordpress.${DOMAIN} - https://wordpress.${DOMAIN}
- https://{$SERVER_IP}:8088 - https://${SERVER_IP}:8088
- https://gitea.${DOMAIN} - https://gitea.${DOMAIN}
- https://{$SERVER_IP}:3010 - https://${SERVER_IP}:3010
- https://jupyter.${DOMAIN} - https://jupyter.${DOMAIN}
- https://{$SERVER_IP}:8890 - https://${SERVER_IP}:8890

View File

@@ -237,10 +237,10 @@ networks:
x-dockge: x-dockge:
urls: urls:
- https://backrest.${DOMAIN} - https://backrest.${DOMAIN}
- https://{$SERVER_IP}:9898 - https://${SERVER_IP}:9898
- https://duplicati.${DOMAIN} - https://duplicati.${DOMAIN}
- https://{$SERVER_IP}:8200 - https://${SERVER_IP}:8200
- https://forms.${DOMAIN} - https://forms.${DOMAIN}
- https://{$SERVER_IP}:3002 - https://${SERVER_IP}:3002
- https://vault.${DOMAIN} - https://vault.${DOMAIN}
- https://{$SERVER_IP}:8091 - https://${SERVER_IP}:8091

View File

@@ -54,7 +54,7 @@ services:
- "traefik.http.services.qbittorrent.loadbalancer.server.port=8081" - "traefik.http.services.qbittorrent.loadbalancer.server.port=8081"
# Sablier configuration # Sablier configuration
- "sablier.enable=true" - "sablier.enable=true"
- "sablier.group=qbittorrent" - "sablier.group=${SERVER_HOSTNAME}-qbittorrent"
- "sablier.sessionDuration=1h" - "sablier.sessionDuration=1h"
# qBittorrent - Torrent client # qBittorrent - Torrent client

View File

@@ -181,8 +181,8 @@ x-dockge:
urls: urls:
# Proxied URLs (through Traefik) # Proxied URLs (through Traefik)
- https://bookstack.${DOMAIN} - https://bookstack.${DOMAIN}
- https://{$SERVER_IP}:6875 - https://${SERVER_IP}:6875
- https://dokuwiki.${DOMAIN} - https://dokuwiki.${DOMAIN}
- https://{$SERVER_IP}:8087 - https://${SERVER_IP}:8087
- https://mediawiki.${DOMAIN} - https://mediawiki.${DOMAIN}
- https://{$SERVER_IP}:8086 - https://${SERVER_IP}:8086

View File

@@ -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. I'm troubleshooting the ez-homelab.sh setup process.
Install notes 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.