feat: 部屬舊環境 #6

Merged
jiantw83 merged 1 commits from 舊環境 into master 2026-02-01 09:02:31 +00:00
Showing only changes of commit eb8b878206 - Show all commits

View File

@@ -164,6 +164,189 @@ services:
# === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟
# --- DS718 主要代理服務 ---
flaresolverr:
# === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具
container_name: socat_flaresolverr
# === Traefik 標籤設定 ===
labels:
- "traefik.enable=true" # 啟用 Traefik 代理
- "traefik.docker.network=traefik_vlan" # 指定網路
# --- HTTP 服務配置 ---
- "traefik.http.services.flaresolverr.loadbalancer.server.scheme=https" # 服務協議為 HTTPS
- "traefik.http.services.flaresolverr.loadbalancer.server.port=8191" # 後端服務連接埠 5001
# --- HTTP 路由 (轉導至 HTTPS) ---
- "traefik.http.routers.flaresolverr.entrypoints=http" # HTTP 入口點
- "traefik.http.routers.flaresolverr.rule=Host(`flaresolverr.jsc.idv.me`)" # 域名規則
- "traefik.http.routers.flaresolverr.middlewares=https-redirect@docker" # 強制 HTTPS 轉導
# --- HTTPS 路由 ---
- "traefik.http.routers.flaresolverr-tls.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.flaresolverr-tls.rule=Host(`flaresolverr.jsc.idv.me`)" # 域名規則
- "traefik.http.routers.flaresolverr-tls.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.flaresolverr-tls.service=flaresolverr" # 指向服務
- "traefik.http.routers.flaresolverr-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.flaresolverr-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.flaresolverr-letsencrypt.rule=Host(`flaresolverr.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.flaresolverr-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.flaresolverr-letsencrypt.service=flaresolverr" # 指向服務
- "traefik.http.routers.flaresolverr-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.flaresolverr-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 ===
environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
# === 網路設定 ===
networks:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:8191,reuseaddr,fork tcp:192.168.1.203:8191" # TCP 代理至 DS718
# === 日誌管理 ===
logging:
driver: "json-file" # 使用 JSON 檔案記錄日誌
options:
max-size: "1m" # 單一日誌檔案最大 1MB
# === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟
# --- DS718 主要代理服務 ---
download:
# === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具
container_name: socat_download
# === Traefik 標籤設定 ===
labels:
- "traefik.enable=true" # 啟用 Traefik 代理
- "traefik.docker.network=traefik_vlan" # 指定網路
# --- HTTP 服務配置 ---
- "traefik.http.services.download.loadbalancer.server.scheme=http" # 服務協議為 HTTPS
- "traefik.http.services.download.loadbalancer.server.port=5000" # 後端服務連接埠 5001
# --- HTTP 路由 (轉導至 HTTPS) ---
- "traefik.http.routers.download.entrypoints=http" # HTTP 入口點
- "traefik.http.routers.download.rule=Host(`download.jsc.idv.me`)" # 域名規則
- "traefik.http.routers.download.middlewares=https-redirect@docker" # 強制 HTTPS 轉導
# --- HTTPS 路由 ---
- "traefik.http.routers.download-tls.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.download-tls.rule=Host(`download.jsc.idv.me`)" # 域名規則
- "traefik.http.routers.download-tls.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.download-tls.service=download" # 指向服務
- "traefik.http.routers.download-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.download-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.download-letsencrypt.rule=Host(`download.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.download-letsencrypt.middlewares=gzip@docker,auth@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.download-letsencrypt.service=download" # 指向服務
- "traefik.http.routers.download-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.download-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 ===
environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
# === 網路設定 ===
networks:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:5000,reuseaddr,fork tcp:192.168.1.203:5000" # TCP 代理至 DS718
# === 日誌管理 ===
logging:
driver: "json-file" # 使用 JSON 檔案記錄日誌
options:
max-size: "1m" # 單一日誌檔案最大 1MB
# === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟
# --- DS718 主要代理服務 ---
download-1:
# === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具
container_name: socat_download_1
# === Traefik 標籤設定 ===
labels:
- "traefik.enable=true" # 啟用 Traefik 代理
- "traefik.docker.network=traefik_vlan" # 指定網路
# --- HTTP 服務配置 (負載平衡器設定) ---
- "traefik.http.services.download.loadbalancer.server.scheme=http" # 服務協議為 HTTP (統一服務名稱)
- "traefik.http.services.download.loadbalancer.server.port=5001" # 後端服務連接埠 80
- "traefik.http.services.download.loadbalancer.healthcheck.path=/hangfire" # 健康檢查路徑
- "traefik.http.services.download.loadbalancer.healthcheck.interval=30s" # 健康檢查間隔
# === 環境變數設定 ===
environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
# === 網路設定 ===
networks:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:5001,reuseaddr,fork tcp:192.168.1.203:5001" # TCP 代理至 DS718
# === 日誌管理 ===
logging:
driver: "json-file" # 使用 JSON 檔案記錄日誌
options:
max-size: "1m" # 單一日誌檔案最大 1MB
# === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟
# --- DS718 主要代理服務 ---
download-2:
# === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具
container_name: socat_download_2
# === Traefik 標籤設定 ===
labels:
- "traefik.enable=true" # 啟用 Traefik 代理
- "traefik.docker.network=traefik_vlan" # 指定網路
# --- HTTP 服務配置 (負載平衡器設定) ---
- "traefik.http.services.download.loadbalancer.server.scheme=http" # 服務協議為 HTTP (統一服務名稱)
- "traefik.http.services.download.loadbalancer.server.port=5002" # 後端服務連接埠 5002
- "traefik.http.services.download.loadbalancer.healthcheck.path=/hangfire" # 健康檢查路徑
- "traefik.http.services.download.loadbalancer.healthcheck.interval=30s" # 健康檢查間隔
# === 環境變數設定 ===
environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
# === 網路設定 ===
networks:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:5002,reuseaddr,fork tcp:192.168.1.203:5002" # TCP 代理至 DS718
# === 日誌管理 ===
logging:
driver: "json-file" # 使用 JSON 檔案記錄日誌
options:
max-size: "1m" # 單一日誌檔案最大 1MB
# === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟
# --- Proxmox VE 主要代理服務 ---
pve:
# === 容器基本設定 ===
@@ -208,7 +391,7 @@ services:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:8006,reuseaddr,fork tcp:192.168.30.200:8006" # TCP 代理至 Proxmox VE
command: "-d -d tcp-listen:8006,reuseaddr,fork tcp:192.168.1.202:8006" # TCP 代理至 Proxmox VE
# === 日誌管理 ===
logging:
@@ -263,7 +446,7 @@ services:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:3000,reuseaddr,fork tcp:192.168.30.221:3000" # TCP 代理至 Gitea
command: "-d -d tcp-listen:3000,reuseaddr,fork tcp:192.168.1.201:3000" # TCP 代理至 Gitea
# === 日誌管理 ===
logging: