Update Docker Compose files for various stacks
This commit is contained in:
@@ -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
|
||||
- https://${SERVER_IP}:8080
|
||||
@@ -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:
|
||||
|
||||
@@ -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}
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
- https://${SERVER_IP}:8091
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
24
tasks.txt
24
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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user