From ab43dc79d53f1756741044393db87a43ebea0f79 Mon Sep 17 00:00:00 2001 From: kelin Date: Thu, 15 Jan 2026 15:09:54 -0500 Subject: [PATCH] Update docker-compose files from test system changes --- docker-compose/dashboards.yml | 11 ++-- docker-compose/dashboards/docker-compose.yml | 6 +- docker-compose/development.yml | 43 ------------ docker-compose/downloaders.yml | 69 ++++++++++---------- 4 files changed, 44 insertions(+), 85 deletions(-) diff --git a/docker-compose/dashboards.yml b/docker-compose/dashboards.yml index 10ca786..b78fde0 100644 --- a/docker-compose/dashboards.yml +++ b/docker-compose/dashboards.yml @@ -19,14 +19,13 @@ services: - dockerproxy-network volumes: - ./homepage:/app/config - - /var/run/docker.sock:/var/run/docker.sock:ro # For Docker integration - - /opt/stacks:/opt/stacks:ro # To discover other stacks + - /var/run/docker.sock:/var/run/docker.sock # For Docker integration do not mount RO + - /opt/stacks:/opt/stacks # To discover other stacks environment: - - PUID=${PUID:-1000} - - PGID=${PGID:-1000} + - PUID=995 # Must be set to the docker user ID + - PGID=995 # Must be set to the docker group ID - TZ=${TZ} - HOMEPAGE_ALLOWED_HOSTS=home.${DOMAIN} - user: "${PUID:-1000}:${DOCKER_GID:-999}" labels: - "homelab.category=dashboard" - "homelab.description=Application dashboard (AI-configurable)" @@ -50,7 +49,7 @@ services: - ./homarr/config:/app/config/configs - ./homarr/data:/data - ./homarr/icons:/app/public/icons - - /var/run/docker.sock:/var/run/docker.sock:ro + - /var/run/docker.sock:/var/run/docker.sock environment: - TZ=${TZ} labels: diff --git a/docker-compose/dashboards/docker-compose.yml b/docker-compose/dashboards/docker-compose.yml index 6be891b..dcf1c5d 100644 --- a/docker-compose/dashboards/docker-compose.yml +++ b/docker-compose/dashboards/docker-compose.yml @@ -15,11 +15,11 @@ services: - dockerproxy-network volumes: - /opt/stacks/homepage/config:/app/config - - /var/run/docker.sock:/var/run/docker.sock # For Docker integration + - /var/run/docker.sock:/var/run/docker.sock # For Docker integration do not mount RO - /opt/stacks:/opt/stacks:ro # To discover other stacks environment: - - PUID=995 - - PGID=995 + - PUID=995 # Must be set to the docker user ID + - PGID=995 # Must be set to the docker group ID - TZ=${TZ} - HOMEPAGE_ALLOWED_HOSTS=home.${DOMAIN} labels: diff --git a/docker-compose/development.yml b/docker-compose/development.yml index c5d6b30..af9908b 100644 --- a/docker-compose/development.yml +++ b/docker-compose/development.yml @@ -2,29 +2,6 @@ # Tools and services for development work services: - # Code Server - VS Code in the browser - # Access at: http://server-ip:8443 - code-server: - image: lscr.io/linuxserver/code-server:4.20.0 - container_name: code-server - restart: unless-stopped - networks: - - homelab-network - ports: - - "8443:8443" - volumes: - - ./config/code-server:/config - - ${PROJECTDIR:-/home/user/projects}:/projects - environment: - - PUID=${PUID:-1000} - - PGID=${PGID:-1000} - - TZ=${TZ:-America/New_York} - - PASSWORD=${CODE_SERVER_PASSWORD:-changeme} - - SUDO_PASSWORD=${CODE_SERVER_SUDO_PASSWORD:-changeme} - labels: - - "homelab.category=development" - - "homelab.description=VS Code in browser for remote development" - # GitLab CE - Self-hosted Git repository manager # Access at: http://server-ip:8929 # Note: Requires significant resources (4GB+ RAM recommended) @@ -152,24 +129,6 @@ services: - "homelab.category=development" - "homelab.description=Jupyter Lab for data science and ML" - # Node-RED - Visual programming for automation - # Access at: http://server-ip:1880 - nodered: - image: nodered/node-red:3.1.3 - container_name: nodered - restart: unless-stopped - networks: - - homelab-network - ports: - - "1880:1880" - volumes: - - nodered-data:/data - environment: - - TZ=${TZ:-America/New_York} - labels: - - "homelab.category=development" - - "homelab.description=Visual automation and workflow tool" - volumes: gitlab-logs: driver: local @@ -181,8 +140,6 @@ volumes: driver: local pgadmin-data: driver: local - nodered-data: - driver: local networks: database-network: diff --git a/docker-compose/downloaders.yml b/docker-compose/downloaders.yml index 3f6766d..a872bbd 100644 --- a/docker-compose/downloaders.yml +++ b/docker-compose/downloaders.yml @@ -1,64 +1,67 @@ -version: "3.9" +# Downloaders Stack +# VPN-routed download clients +# Place in /opt/stacks/downloaders/docker-compose.yml + +# Service Access URLs: +# - qBittorrent: https://qbit.${DOMAIN} services: - # VPN client for routing download client traffic through Surfshark + # Gluetun - VPN client (Surfshark) + # Routes download clients through VPN for security gluetun: image: qmcgaw/gluetun:latest container_name: gluetun - hostname: gluetun + restart: unless-stopped cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun - ports: - - "8081:8080" # qBittorrent WebUI - - "6881:6881" # qBittorrent torrent port - - "6881:6881/udp" - - "8888:8888/tcp" # HTTP proxy - - "8388:8388/tcp" # Shadowsocks - - "8388:8388/udp" - volumes: - - ${STACK_DIR}/gluetun:/gluetun - environment: - - VPN_SERVICE_PROVIDER=surfshark - - VPN_TYPE=openvpn - - OPENVPN_USER=${SURFSHARK_USER} - - OPENVPN_PASSWORD=${SURFSHARK_PASSWORD} - - SERVER_COUNTRIES=${VPN_COUNTRY:-Netherlands} - - FIREWALL_VPN_INPUT_PORTS=6881 - - TZ=${TZ} - - UPDATER_PERIOD=24h networks: - homelab-network - traefik-network + ports: + - "8888:8888/tcp" # HTTP proxy + - "8388:8388/tcp" # Shadowsocks + - "8388:8388/udp" # Shadowsocks + - "8081:8080" # qBittorrent web UI + - "6881:6881" # qBittorrent + - "6881:6881/udp" # qBittorrent + volumes: + - ./gluetun:/gluetun + environment: + - VPN_SERVICE_PROVIDER=surfshark + - VPN_TYPE=openvpn + - OPENVPN_USER=${SURFSHARK_USERNAME} + - OPENVPN_PASSWORD=${SURFSHARK_PASSWORD} + - SERVER_COUNTRIES=${VPN_SERVER_COUNTRIES:-Netherlands} + - TZ=${TZ} labels: + - "homelab.category=downloaders" + - "homelab.description=VPN client for secure downloads" - "traefik.enable=true" - # qBittorrent routing through Gluetun - "traefik.http.routers.qbittorrent.rule=Host(`qbit.${DOMAIN}`)" - "traefik.http.routers.qbittorrent.entrypoints=websecure" - "traefik.http.routers.qbittorrent.tls=true" - - "traefik.http.routers.qbittorrent.tls.certresolver=letsencrypt" - "traefik.http.routers.qbittorrent.middlewares=authelia@docker" - "traefik.http.services.qbittorrent.loadbalancer.server.port=8080" - restart: unless-stopped - # Torrent client + # qBittorrent - Torrent client + # Routes through Gluetun VPN qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent - hostname: qbittorrent - network_mode: "service:gluetun" # Route through VPN + restart: unless-stopped + network_mode: "service:gluetun" # Routes through VPN in same compose file + volumes: + - ./qbittorrent/config:/config + - /mnt/downloads:/downloads environment: - - PUID=${PUID} - - PGID=${PGID} + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} - TZ=${TZ} - WEBUI_PORT=8080 - volumes: - - ${STACK_DIR}/qbittorrent/config:/config - - ${MEDIA_DIR}/downloads:/downloads depends_on: - gluetun - restart: unless-stopped networks: homelab-network: