Compare commits

3 Commits

Author SHA1 Message Date
2e89d815f7 Merge pull request 'feat: 新增 socat 服務到 ds116 與 ds718' (#3) from develop into master
All checks were successful
/ CD > 啟動服務 (push) Successful in 25s
/ CD > 清理資源 (push) Successful in 0s
Reviewed-on: #3
2026-01-31 09:40:56 +00:00
f5d42bae40 Merge pull request 'feat: CD 加入 socat 服務' (#2) from develop into master
All checks were successful
/ CD > 啟動服務 (push) Successful in 25s
/ CD > 清理資源 (push) Successful in 0s
Reviewed-on: #2
2026-01-24 13:12:16 +00:00
64348f457e Merge pull request 'feat: 新增 socat 服務' (#1) from develop into master
All checks were successful
/ CD > 啟動服務 (push) Successful in 20s
/ CD > 清理資源 (push) Successful in 0s
Reviewed-on: #1
2026-01-24 13:08:36 +00:00

View File

@@ -1,5 +1,5 @@
services: services:
# --- DS116 主要代理服務 --- # --- Proxmox VE 主要代理服務 ---
ds116: ds116:
# === 容器基本設定 === # === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具 image: alpine/socat:latest # Alpine Linux + socat 工具
@@ -12,7 +12,7 @@ services:
# --- HTTP 服務配置 --- # --- HTTP 服務配置 ---
- "traefik.http.services.ds116.loadbalancer.server.scheme=https" # 服務協議為 HTTPS - "traefik.http.services.ds116.loadbalancer.server.scheme=https" # 服務協議為 HTTPS
- "traefik.http.services.ds116.loadbalancer.server.port=5001" # 後端服務連接埠 5001 - "traefik.http.services.ds116.loadbalancer.server.port=5001" # 後端服務連接埠 8006
# --- HTTP 路由 (轉導至 HTTPS) --- # --- HTTP 路由 (轉導至 HTTPS) ---
- "traefik.http.routers.ds116.entrypoints=http" # HTTP 入口點 - "traefik.http.routers.ds116.entrypoints=http" # HTTP 入口點
@@ -26,14 +26,6 @@ services:
- "traefik.http.routers.ds116-tls.service=ds116" # 指向服務 - "traefik.http.routers.ds116-tls.service=ds116" # 指向服務
- "traefik.http.routers.ds116-tls.tls=true" # 啟用 TLS - "traefik.http.routers.ds116-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.ds116-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.ds116-letsencrypt.rule=Host(`ds116.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.ds116-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.ds116-letsencrypt.service=ds116" # 指向服務
- "traefik.http.routers.ds116-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.ds116-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 === # === 環境變數設定 ===
environment: environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8) TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
@@ -43,7 +35,7 @@ services:
- vlan # 使用 traefik_vlan 網路 - vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 === # === Socat 代理指令 ===
command: "-d -d tcp-listen:5001,reuseaddr,fork tcp:192.168.1.101:5001" # TCP 代理至 DS116 command: "-d -d tcp-listen:5001,reuseaddr,fork tcp:192.168.1.101:5001" # TCP 代理至 Proxmox VE
# === 日誌管理 === # === 日誌管理 ===
logging: logging:
@@ -54,62 +46,7 @@ services:
# === 重新啟動策略 === # === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟 restart: always # 容器異常退出時自動重啟
# --- DS116 Bitwarden 主要代理服務 --- # --- Proxmox VE 主要代理服務 ---
ds116-bitwarden:
# === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具
container_name: socat_ds116_bitwarden
# === Traefik 標籤設定 ===
labels:
- "traefik.enable=true" # 啟用 Traefik 代理
- "traefik.docker.network=traefik_vlan" # 指定網路
# --- HTTP 服務配置 ---
- "traefik.http.services.ds116-bitwarden.loadbalancer.server.scheme=http" # 服務協議為 HTTP
- "traefik.http.services.ds116-bitwarden.loadbalancer.server.port=52080" # 後端服務連接埠 52080
# --- HTTP 路由 (轉導至 HTTPS) ---
- "traefik.http.routers.ds116-bitwarden.entrypoints=http" # HTTP 入口點
- "traefik.http.routers.ds116-bitwarden.rule=Host(`bitwarden.jsc.idv.me`)" # 域名規則
- "traefik.http.routers.ds116-bitwarden.middlewares=https-redirect@docker" # 強制 HTTPS 轉導
# --- HTTPS 路由 ---
- "traefik.http.routers.ds116-bitwarden-tls.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.ds116-bitwarden-tls.rule=Host(`bitwarden.jsc.idv.me`)" # 域名規則
- "traefik.http.routers.ds116-bitwarden-tls.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.ds116-bitwarden-tls.service=ds116-bitwarden" # 指向服務
- "traefik.http.routers.ds116-bitwarden-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.ds116-bitwarden-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.ds116-bitwarden-letsencrypt.rule=Host(`bitwarden.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.ds116-bitwarden-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.ds116-bitwarden-letsencrypt.service=ds116-bitwarden" # 指向服務
- "traefik.http.routers.ds116-bitwarden-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.ds116-bitwarden-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 ===
environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
# === 網路設定 ===
networks:
- vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 ===
command: "-d -d tcp-listen:52080,reuseaddr,fork tcp:192.168.1.102:52080" # TCP 代理至 DS116 Bitwarden
# === 日誌管理 ===
logging:
driver: "json-file" # 使用 JSON 檔案記錄日誌
options:
max-size: "1m" # 單一日誌檔案最大 1MB
# === 重新啟動策略 ===
restart: always # 容器異常退出時自動重啟
# --- DS718 主要代理服務 ---
ds718: ds718:
# === 容器基本設定 === # === 容器基本設定 ===
image: alpine/socat:latest # Alpine Linux + socat 工具 image: alpine/socat:latest # Alpine Linux + socat 工具
@@ -122,7 +59,7 @@ services:
# --- HTTP 服務配置 --- # --- HTTP 服務配置 ---
- "traefik.http.services.ds718.loadbalancer.server.scheme=https" # 服務協議為 HTTPS - "traefik.http.services.ds718.loadbalancer.server.scheme=https" # 服務協議為 HTTPS
- "traefik.http.services.ds718.loadbalancer.server.port=5001" # 後端服務連接埠 5001 - "traefik.http.services.ds718.loadbalancer.server.port=5001" # 後端服務連接埠 8006
# --- HTTP 路由 (轉導至 HTTPS) --- # --- HTTP 路由 (轉導至 HTTPS) ---
- "traefik.http.routers.ds718.entrypoints=http" # HTTP 入口點 - "traefik.http.routers.ds718.entrypoints=http" # HTTP 入口點
@@ -136,14 +73,6 @@ services:
- "traefik.http.routers.ds718-tls.service=ds718" # 指向服務 - "traefik.http.routers.ds718-tls.service=ds718" # 指向服務
- "traefik.http.routers.ds718-tls.tls=true" # 啟用 TLS - "traefik.http.routers.ds718-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.ds718-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.ds718-letsencrypt.rule=Host(`ds718.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.ds718-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.ds718-letsencrypt.service=ds718" # 指向服務
- "traefik.http.routers.ds718-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.ds718-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 === # === 環境變數設定 ===
environment: environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8) TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
@@ -153,7 +82,7 @@ services:
- vlan # 使用 traefik_vlan 網路 - vlan # 使用 traefik_vlan 網路
# === Socat 代理指令 === # === Socat 代理指令 ===
command: "-d -d tcp-listen:5001,reuseaddr,fork tcp:192.168.1.102:5001" # TCP 代理至 DS718 command: "-d -d tcp-listen:5001,reuseaddr,fork tcp:192.168.1.102:5001" # TCP 代理至 Proxmox VE
# === 日誌管理 === # === 日誌管理 ===
logging: logging:
@@ -191,14 +120,6 @@ services:
- "traefik.http.routers.pve-tls.service=pve" # 指向服務 - "traefik.http.routers.pve-tls.service=pve" # 指向服務
- "traefik.http.routers.pve-tls.tls=true" # 啟用 TLS - "traefik.http.routers.pve-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.pve-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.pve-letsencrypt.rule=Host(`pve.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.pve-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.pve-letsencrypt.service=pve" # 指向服務
- "traefik.http.routers.pve-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.pve-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 === # === 環境變數設定 ===
environment: environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8) TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
@@ -246,14 +167,6 @@ services:
- "traefik.http.routers.gitea-tls.service=gitea" # 指向服務 - "traefik.http.routers.gitea-tls.service=gitea" # 指向服務
- "traefik.http.routers.gitea-tls.tls=true" # 啟用 TLS - "traefik.http.routers.gitea-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.gitea-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.gitea-letsencrypt.rule=Host(`gitea.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.gitea-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.gitea-letsencrypt.service=gitea" # 指向服務
- "traefik.http.routers.gitea-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.gitea-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 === # === 環境變數設定 ===
environment: environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8) TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
@@ -301,14 +214,6 @@ services:
- "traefik.http.routers.ezbookkeeping-tls.service=ezbookkeeping" # 指向服務 - "traefik.http.routers.ezbookkeeping-tls.service=ezbookkeeping" # 指向服務
- "traefik.http.routers.ezbookkeeping-tls.tls=true" # 啟用 TLS - "traefik.http.routers.ezbookkeeping-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.ezbookkeeping-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.ezbookkeeping-letsencrypt.rule=Host(`ezbookkeeping.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.ezbookkeeping-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.ezbookkeeping-letsencrypt.service=ezbookkeeping" # 指向服務
- "traefik.http.routers.ezbookkeeping-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.ezbookkeeping-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 === # === 環境變數設定 ===
environment: environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8) TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)
@@ -356,14 +261,6 @@ services:
- "traefik.http.routers.ds225-tls.service=ds225" # 指向服務 - "traefik.http.routers.ds225-tls.service=ds225" # 指向服務
- "traefik.http.routers.ds225-tls.tls=true" # 啟用 TLS - "traefik.http.routers.ds225-tls.tls=true" # 啟用 TLS
# --- HTTPS 路由 (Let's Encrypt) ---
- "traefik.http.routers.ds225-letsencrypt.entrypoints=https" # HTTPS 入口點
- "traefik.http.routers.ds225-letsencrypt.rule=Host(`ds225.jsc.idv.tw`)" # 域名規則
- "traefik.http.routers.ds225-letsencrypt.middlewares=gzip@docker" # 啟用 Gzip 壓縮
- "traefik.http.routers.ds225-letsencrypt.service=ds225" # 指向服務
- "traefik.http.routers.ds225-letsencrypt.tls=true" # 啟用 TLS
- "traefik.http.routers.ds225-letsencrypt.tls.certresolver=letsencrypt" # 使用 Let's Encrypt 證書
# === 環境變數設定 === # === 環境變數設定 ===
environment: environment:
TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8) TZ: "Asia/Taipei" # 時區設定 (台北時間 UTC+8)