為了方便幫自己家中的一先服務做反向代理,剛好手邊有一台 Synology 的 DS718+ 的 NAS 可以使用
原本只知道 Nginx,但是 Caddy 設定更輕鬆簡單,而且會自動申請 Let's Encrypt 憑證
原本想說使用虛擬機進行安裝,沒想到 Synology 也支援 Docker
所以不用特地在安裝一個虛擬機浪費效能
步驟一 安裝 Synology 安裝套件 Docker
請注意 Synology 機型是否支援 Docker
官網

步驟二 下載 Caddy 映像
選擇 abiosoft/caddy 進行下載

步驟三 佈署&設定 Caddy 容器
啟動容器資源限制,由於只有我個人使用,記憶體設定 64MB 足夠使用

勾選容器自動重啟,當 NAS 重新啟動的時候,Caddy 服務也能自動啟動

配置 Caddyfile 並儲存在 Synology 中
|
|
將 Synology 中的 Caddyfile 掛載至 Caddy 容器中

容器網路埠設定,刪除用不到的容器埠 2015
由於 Synology 本身已經佔用 80 及 443 埠,所以必須設置兩個沒有使用的埠來對應
我使用 NAS:8443 - 容器:443、NAS:8080-容器:80
路由器 NAT 需要設定為 外網:443 - NAS:8443、外網:80 - NAS:8080 否則憑證無法正常連線

設定時區 TZ = Asia/Taipei

這樣就能執行 Caddy 容器,並透過設定的網址 https://www.example.com 進行連線