您已经找到了在任何 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 中提供的详细信息。