feat: network configure

This commit is contained in:
2025-12-18 22:32:31 +00:00
parent 7e0cb3d0e2
commit fbbedaae3c
10 changed files with 88 additions and 23 deletions

View File

@@ -10,14 +10,15 @@ services:
traefik.http.routers.zerobyte.rule: "Host(`zerobyte.${DOMAIN}`)" traefik.http.routers.zerobyte.rule: "Host(`zerobyte.${DOMAIN}`)"
traefik.http.routers.zerobyte.entrypoints: "https" traefik.http.routers.zerobyte.entrypoints: "https"
traefik.http.routers.zerobyte.tls.certresolver: "cloudflare" traefik.http.routers.zerobyte.tls.certresolver: "cloudflare"
traefik.http.services.zerobyte.loadbalancer.server.url: "http://${HOST_IP}:4096" traefik.http.routers.zerobyte.service: "zerobyte"
traefik.http.services.zerobyte.loadbalancer.server.port: "4096"
image: ghcr.io/nicotsx/zerobyte:v0.19 image: ghcr.io/nicotsx/zerobyte:v0.19
container_name: zerobyte container_name: zerobyte
restart: unless-stopped restart: unless-stopped
cap_add: cap_add:
- SYS_ADMIN - SYS_ADMIN
ports: expose:
- "4096:4096" - "4096"
devices: devices:
- /dev/fuse:/dev/fuse - /dev/fuse:/dev/fuse
environment: environment:
@@ -27,3 +28,9 @@ services:
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
- /var/lib/zerobyte:/var/lib/zerobyte - /var/lib/zerobyte:/var/lib/zerobyte
- /home/naivegarmur/.config/rclone:/root/.config/rclone - /home/naivegarmur/.config/rclone:/root/.config/rclone
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -13,14 +13,19 @@ services:
traefik.http.routers.portainer.rule: "Host(`portainer.${DOMAIN}`)" traefik.http.routers.portainer.rule: "Host(`portainer.${DOMAIN}`)"
traefik.http.routers.portainer.entrypoints: "https" traefik.http.routers.portainer.entrypoints: "https"
traefik.http.routers.portainer.tls.certresolver: "cloudflare" traefik.http.routers.portainer.tls.certresolver: "cloudflare"
traefik.http.services.portainer.loadbalancer.server.url: "https://${HOST_IP}:9443" traefik.http.routers.portainer.service: "portainer"
traefik.http.services.portainer.loadbalancer.server.port: "9443"
traefik.http.services.portainer.loadbalancer.server.scheme: "https"
traefik.http.services.portainer.loadbalancer.serverstransport: "insecure@file" traefik.http.services.portainer.loadbalancer.serverstransport: "insecure@file"
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data - portainer_data:/data
ports: expose:
- 9443:9443 - 9443
- 8000:8000 # Remove if you do not intend to use Edge Agents - 8000 # Remove if you do not intend to use Edge Agents
networks:
- default
- traefik_public
volumes: volumes:
portainer_data: portainer_data:
@@ -29,3 +34,5 @@ volumes:
networks: networks:
default: default:
name: kendricklab name: kendricklab
traefik_public:
external: true

View File

@@ -2,8 +2,8 @@ services:
homepage: homepage:
image: ghcr.io/gethomepage/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
ports: expose:
- 3001:3000 - 3000
volumes: volumes:
- ${CONFIG_ROOT}/homepage/config:/app/config - ${CONFIG_ROOT}/homepage/config:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
@@ -20,4 +20,11 @@ services:
traefik.http.routers.homepage.rule: "Host(`${DOMAIN}`)" traefik.http.routers.homepage.rule: "Host(`${DOMAIN}`)"
traefik.http.routers.homepage.entrypoints: "https" traefik.http.routers.homepage.entrypoints: "https"
traefik.http.routers.homepage.tls.certresolver: "cloudflare" traefik.http.routers.homepage.tls.certresolver: "cloudflare"
traefik.http.services.homepage.loadbalancer.server.url: "http://${HOST_IP}:3001" traefik.http.routers.homepage.service: "homepage"
traefik.http.services.homepage.loadbalancer.server.port: "3000"
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -15,3 +15,9 @@ services:
homepage.icon: "duckdns.png" homepage.icon: "duckdns.png"
homepage.href: "https://www.duckdns.org" homepage.href: "https://www.duckdns.org"
homepage.description: "Dynamic DNS Updater" homepage.description: "Dynamic DNS Updater"
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -17,3 +17,9 @@ services:
- ${CONFIG_ROOT}/core-keeper/server-data:/home/steam/core-keeper-data - ${CONFIG_ROOT}/core-keeper/server-data:/home/steam/core-keeper-data
environment: environment:
- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1449377878192947241/_fBMK0aw42CB4WCae-xJZSI887APRjOGCB1XwYK9gDEMPVdHeqH2OncvCNg9q1VNxDVn - DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1449377878192947241/_fBMK0aw42CB4WCae-xJZSI887APRjOGCB1XwYK9gDEMPVdHeqH2OncvCNg9q1VNxDVn
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -11,22 +11,25 @@ services:
volumes: volumes:
- ${DOCKER_PATH}/jellyfin/config:/config - ${DOCKER_PATH}/jellyfin/config:/config
- ${MEDIA_PATH}:/media - ${MEDIA_PATH}:/media
ports: expose:
- 8096:8096 - 8096
restart: unless-stopped restart: unless-stopped
labels: labels:
# Traefik # Traefik
traefik.enable: "true" traefik.enable: "true"
traefik.http.routers.jellyfin.rule: "Host(`jellyfin.${DOMAIN}`)" traefik.http.routers.jellyfin.rule: "Host(`jellyfin.${DOMAIN}`)"
traefik.http.routers.jellyfin.entrypoints: "https" traefik.http.routers.jellyfin.entrypoints: "https"
traefik.http.routers.jellyfin.service: "jellyfin"
traefik.http.routers.jellyfin.tls.certresolver: "cloudflare" traefik.http.routers.jellyfin.tls.certresolver: "cloudflare"
traefik.http.services.jellyfin.loadbalancer.server.url: "http://${HOST_IP}:8096" traefik.http.services.jellyfin.loadbalancer.server.port: "8096"
# Homepage # Homepage
homepage.group: "Media" homepage.group: "Media"
homepage.name: "Jellyfin" homepage.name: "Jellyfin"
homepage.icon: "jellyfin.svg" homepage.icon: "jellyfin.svg"
homepage.href: "https://jellyfin.${DOMAIN}" homepage.href: "https://jellyfin.${DOMAIN}"
homepage.description: "Media Server" homepage.description: "Media Server"
networks:
- traefik_public
jellyseerr: jellyseerr:
image: fallenbagel/jellyseerr image: fallenbagel/jellyseerr
container_name: jellyseerr container_name: jellyseerr
@@ -36,19 +39,26 @@ services:
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- ${DOCKER_PATH}/jellyseerr/config:/config - ${DOCKER_PATH}/jellyseerr/config:/config
ports: expose:
- 5055:5055 - 5055
restart: unless-stopped restart: unless-stopped
labels: labels:
# Traefik # Traefik
traefik.enable: "true" traefik.enable: "true"
traefik.http.routers.jellyseerr.rule: "Host(`jellyseerr.${DOMAIN}`)" traefik.http.routers.jellyseerr.rule: "Host(`jellyseerr.${DOMAIN}`)"
traefik.http.routers.jellyseerr.entrypoints: "https" traefik.http.routers.jellyseerr.entrypoints: "https"
traefik.http.routers.jellyseerr.service: "jellyseerr"
traefik.http.routers.jellyseerr.tls.certresolver: "cloudflare" traefik.http.routers.jellyseerr.tls.certresolver: "cloudflare"
traefik.http.services.jellyseerr.loadbalancer.server.url: "http://${HOST_IP}:5055" traefik.http.services.jellyseerr.loadbalancer.server.port: "5055"
# Homepage # Homepage
homepage.group: "Media" homepage.group: "Media"
homepage.name: "Jellyseerr" homepage.name: "Jellyseerr"
homepage.icon: "jellyseerr.svg" homepage.icon: "jellyseerr.svg"
homepage.href: "https://jellyseerr.${DOMAIN}" homepage.href: "https://jellyseerr.${DOMAIN}"
homepage.description: "Request management" homepage.description: "Request management"
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -18,7 +18,14 @@ services:
traefik.http.routers.uptime-kuma.rule: "Host(`status.${DOMAIN}`)" traefik.http.routers.uptime-kuma.rule: "Host(`status.${DOMAIN}`)"
traefik.http.routers.uptime-kuma.entrypoints: "https" traefik.http.routers.uptime-kuma.entrypoints: "https"
traefik.http.routers.uptime-kuma.tls.certresolver: "cloudflare" traefik.http.routers.uptime-kuma.tls.certresolver: "cloudflare"
traefik.http.services.uptime-kuma.loadbalancer.server.url: "http://${HOST_IP}:3222" traefik.http.routers.uptime-kuma.service: "uptime-kuma"
ports: traefik.http.services.uptime-kuma.loadbalancer.server.port: "3001"
expose:
# <Host Port>:<Container Port> # <Host Port>:<Container Port>
- "3222:3001" - "3001"
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -31,7 +31,11 @@ services:
- "traefik.http.middlewares.traefik-auth.basicauth.users=user:$$apr1$$q8eZFHjF$$Fj9U0fCH4d13F5j3v3v3w0 - "traefik.http.middlewares.traefik-auth.basicauth.users=user:$$apr1$$q8eZFHjF$$Fj9U0fCH4d13F5j3v3v3w0
- "traefik.http.routers.traefik.middlewares=traefik-auth" - "traefik.http.routers.traefik.middlewares=traefik-auth"
networks: networks:
- traefik_proxy - traefik_public
networks:
traefik_public:
name: traefik_public
secrets: secrets:
cf_dns_api_token: cf_dns_api_token:

View File

@@ -14,3 +14,9 @@ services:
homepage.icon: "cloudflare.png" homepage.icon: "cloudflare.png"
homepage.href: "https://one.dash.cloudflare.com" homepage.href: "https://one.dash.cloudflare.com"
homepage.description: "Cloudflare Tunnel" homepage.description: "Cloudflare Tunnel"
networks:
- traefik_public
networks:
traefik_public:
external: true

View File

@@ -3,6 +3,8 @@ version: "3"
networks: networks:
gitea: gitea:
external: false external: false
traefik_public:
external: true
services: services:
server: server:
@@ -23,7 +25,8 @@ services:
traefik.http.routers.gitea.rule: "Host(`gitea.${DOMAIN}`)" traefik.http.routers.gitea.rule: "Host(`gitea.${DOMAIN}`)"
traefik.http.routers.gitea.entrypoints: "https" traefik.http.routers.gitea.entrypoints: "https"
traefik.http.routers.gitea.tls.certresolver: "cloudflare" traefik.http.routers.gitea.tls.certresolver: "cloudflare"
traefik.http.services.gitea.loadbalancer.server.url: "http://${HOST_IP}:3000" traefik.http.routers.gitea.service: "gitea"
traefik.http.services.gitea.loadbalancer.server.port: "3000"
# SSH # SSH
traefik.tcp.routers.gitea-ssh.rule: "HostSNI(`git.${DOMAIN}`)" traefik.tcp.routers.gitea-ssh.rule: "HostSNI(`git.${DOMAIN}`)"
traefik.tcp.routers.gitea-ssh.entrypoints: "https" traefik.tcp.routers.gitea-ssh.entrypoints: "https"
@@ -32,10 +35,12 @@ services:
traefik.tcp.services.gitea-ssh.loadbalancer.server.address: "${HOST_IP}:222" traefik.tcp.services.gitea-ssh.loadbalancer.server.address: "${HOST_IP}:222"
networks: networks:
- gitea - gitea
- traefik_public
volumes: volumes:
- ${CONFIG_ROOT}/gitea:/data - ${CONFIG_ROOT}/gitea:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
expose:
- "3000"
ports: ports:
- "3000:3000"
- "222:22" - "222:22"