
則言
Monday, September 25, 2023
在 Synology 上建立 Cloudflare Tunnel
Setup Synology
- 在 docker 目錄下建立資料夾,例如
cloudflare-tunnel。 - 下載 cloudflared/cloudflared 映像到 registry。
- SSH 到 admin@synology。
- 變更
cloudflare-tunnel 擁有者,sudo chown -R 65532:65532 /volume1/docker/cloudflare-tunnel。
Run containers
- cloudflared tunnel login
- 執行容器並掛載 volume
docker/cloudflare-tunnel:/home/nonroot/.cloudflared。 - 在 network 分頁選擇
Use the same network as Docker Host。 - 在 environment 分頁加入指令
tunnel login。 - 到容器 log 複製登入 URL。
- 貼上 URL 到瀏覽器並授權 zone。
- 將容器設定 json 匯出到
cloudflare-tunnel 目錄。
- cloudflared tunnel create synology-tunnel
- 編輯
cloudflare-tunnel 目錄中的容器設定 json,修改 cmd 為 tunnel create synology-tunnel。 - 匯入容器設定 json 並執行新容器。
- 容器會停止,並在
cloudflare-tunnel 中建立 tunnel config json。 - 建立 config.yml 並撰寫 ingress 規則。
- 在 config.yml 中,tunnel 的值要與 tunnel config json 檔名一致,credentials-file 為
/home/nonroot/.cloudflared/tunnel config json。 - 將第二個容器設定 json 匯出到
cloudflare-tunnel 目錄。
- cloudflared tunnel route dns synology-tunnel synology.ruru910.com
- 編輯
cloudflare-tunnel 目錄中的第二個容器設定 json,修改 cmd 為 tunnel route dns synology-tunnel synology.ruru910.com。 - 匯入第二個容器設定 json 並執行新容器。
- 容器會停止並建立 DNS 紀錄,將網域指到 tunnel。
- cloudflared tunnel run synology-tunnel
- 編輯
cloudflare-tunnel 目錄中的第二個容器設定 json,修改 cmd 為 tunnel run synology-tunnel。 - 匯入第二個容器設定 json 並執行新容器。
- Tunnel 現在可以連線使用。