您已經找到了在任何 Linux 主機上安裝和管理 WireGuard 的最簡單方法!
對於穩定版本,請閱讀生產分支上的說明!
我們提供了超過 1 個 docker 映像標籤,以下內容將幫助您決定哪一個最適合您。
標籤 | 分支 | 例子 | 描述 |
---|---|---|---|
latest | production | ghcr.io/wg-easy/wg-easy:latest 或ghcr.io/wg-easy/wg-easy | 盡可能穩定,在需要時快速修復錯誤,部署到production 。 |
14 | production | ghcr.io/wg-easy/wg-easy:14 | 與最新版本相同,堅持版本標籤。 |
nightly | master | ghcr.io/wg-easy/wg-easy:nightly | 大多數不穩定的軟體包和程式碼都會頻繁更新,並針對master 進行部署。 |
development | 拉取請求 | ghcr.io/wg-easy/wg-easy:development | 用於開發,在登陸到master 之前測試 PR 中的程式碼。 |
如果您尚未安裝 Docker,請執行以下命令來安裝它:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $( whoami )
exit
並再次登入。
要自動安裝並執行 wg-easy,只需執行:
docker run --detach
--name wg-easy
--env LANG=de
--env WG_HOST= < YOUR_SERVER_IP >
--env PASSWORD_HASH= ' <YOUR_ADMIN_PASSWORD_HASH> '
--env PORT=51821
--env WG_PORT=51820
--volume ~ /.wg-easy:/etc/wireguard
--publish 51820:51820/udp
--publish 51821:51821/tcp
--cap-add NET_ADMIN
--cap-add SYS_MODULE
--sysctl ' net.ipv4.conf.all.src_valid_mark=1 '
--sysctl ' net.ipv4.ip_forward=1 '
--restart unless-stopped
ghcr.io/wg-easy/wg-easy
將
<YOUR_SERVER_IP>
替換為您的 WAN IP 或動態 DNS 主機名稱。將
<YOUR_ADMIN_PASSWORD_HASH>
替換為 bcrypt 密碼雜湊以登入 Web UI。有關如何產生雜湊密碼的說明,請參閱 How_to_generate_an_bcrypt_hash.md。
Web UI 現在可以在http://0.0.0.0:51821
上使用。
Prometheus 指標現已在http://0.0.0.0:51821/metrics
上提供。 Grafana 儀表板 21733
您的設定檔將保存在
~/.wg-easy
中
WireGuard Easy 也可以透過 Docker Compose 啟動 - 只需下載docker-compose.yml
,進行必要的調整並執行docker compose up --detach
。
你喜歡這個項目嗎?給埃米爾買瓶啤酒吧! ?
捐贈給核心組件:WireGuard
可以透過在docker run
命令中使用-e KEY="VALUE"
設定環境變數來配置這些選項。
環境 | 預設 | 例子 | 描述 |
---|---|---|---|
PORT | 51821 | 6789 | Web UI 的 TCP 連接埠。 |
WEBUI_HOST | 0.0.0.0 | localhost | Web UI 綁定到的 IP 位址。 |
PASSWORD_HASH | - | $2y$05$Ci... | 設定後,登入 Web UI 時需要密碼。請參閱如何產生 bcrypt hash.md 以了解如何產生雜湊。 |
WG_HOST | - | vpn.myserver.com | VPN 伺服器的公共主機名稱。 |
WG_DEVICE | eth0 | ens6f0 | Wireguard 流量應透過乙太網路裝置轉送。 |
WG_PORT | 51820 | 12345 | VPN 伺服器的公共 UDP 連接埠。 WireGuard 將在 Docker 容器內監聽(否則預設)。 |
WG_CONFIG_PORT | 51820 | 12345 | Home Assistant 插件使用的 UDP 端口 |
WG_MTU | null | 1420 | 客戶端將使用的 MTU。伺服器使用預設 WG MTU。 |
WG_PERSISTENT_KEEPALIVE | 0 | 25 | 保持“連接”開啟的值(以秒為單位)。如果該值為 0,則連線將不會保持活動狀態。 |
WG_DEFAULT_ADDRESS | 10.8.0.x | 10.6.0.x | 客戶端 IP 位址範圍。 |
WG_DEFAULT_DNS | 1.1.1.1 | 8.8.8.8, 8.8.4.4 | 用戶端將使用 DNS 伺服器。如果設定為空白值,用戶端將不會使用任何 DNS。 |
WG_ALLOWED_IPS | 0.0.0.0/0, ::/0 | 192.168.15.0/24, 10.0.1.0/24 | 客戶端將使用的允許 IP。 |
WG_PRE_UP | ... | - | 請參閱 config.js 以了解預設值。 |
WG_POST_UP | ... | iptables ... | 請參閱 config.js 以了解預設值。 |
WG_PRE_DOWN | ... | - | 請參閱 config.js 以了解預設值。 |
WG_POST_DOWN | ... | iptables ... | 請參閱 config.js 以了解預設值。 |
WG_ENABLE_EXPIRES_TIME | false | true | 為客戶端啟用過期時間 |
LANG | en | de | Web UI 語言(支援:en、ua、ru、tr、no、pl、fr、de、ca、es、ko、vi、nl、is、pt、chs、cht、it、th、hi、ja、si) 。 |
UI_TRAFFIC_STATS | false | true | 在 Web UI 中啟用詳細的 RX/TX 用戶端統計信息 |
UI_CHART_TYPE | 0 | 1 | UI_CHART_TYPE=0 # 圖表已停用,UI_CHART_TYPE=1 # 折線圖,UI_CHART_TYPE=2 # 面積圖,UI_CHART_TYPE=3 # 長條圖 |
WG_ENABLE_ONE_TIME_LINKS | false | true | 啟用顯示和產生短的一次性下載連結(5 分鐘後過期) |
MAX_AGE | 0 | 1440 | Web UI 會話的最長期限(以分鐘為單位)。 0 表示會話將持續存在,直到瀏覽器關閉。 |
UI_ENABLE_SORT_CLIENTS | false | true | 啟用 UI 按名稱對客戶端進行排序 |
ENABLE_PROMETHEUS_METRICS | false | true | 啟用 Prometheus 指標http://0.0.0.0:51821/metrics 和http://0.0.0.0:51821/metrics/json |
PROMETHEUS_METRICS_PASSWORD | - | $2y$05$Ci... | 如果設置,則請求指標時需要基本身份驗證。請參閱如何產生 bcrypt hash.md 以了解如何產生雜湊。 |
如果更改
WG_PORT
,請確保也更改公開的連接埠。
要更新到最新版本,只需運行:
docker stop wg-easy
docker rm wg-easy
docker pull ghcr.io/wg-easy/wg-easy
然後再次運行上面的docker run -d ...
命令。
使用 Docker Compose WireGuard Easy 可以使用單一命令進行更新: docker compose up --detach --pull always
(如果在 Compose 檔案中指定了鏡像標籤並且它不是latest
,請確保將其更改為所需的標籤) ;預設情況下它被省略並預設為latest
)。
如果拉取更新的映像,將自動重新建立 WireGuared Easy 容器。
對於不太常見或特定的邊緣情況場景,請參閱 Wiki 中提供的詳細資訊。