编辑
2026-01-15
知识库
0
请注意,本文编写于 241 天前,最后修改于 241 天前,其中某些信息可能已经过时。
shell
version: "3.8" services: # WireGuard-UI 管理界面容器 wireguard-ui: image: ngoduykhanh/wireguard-ui:0.6.2 container_name: wireguard-ui restart: always # 容器异常自动重启 environment: # 时区配置(避免日志时间错乱,改为你的时区,如 Asia/Shanghai) - TZ=Asia/Shanghai # WireGuard 配置文件存放路径(与下方挂载目录一致) - WG_CONF_DIR=/etc/wireguard # 禁止自动重启 WireGuard 服务(由下方 wireguard 容器负责) - WG_ENABLE=false volumes: # 挂载 WireGuard 配置目录(UI 生成的配置会存放在这里) - ./wireguard:/etc/wireguard # 挂载 WireGuard-UI 自身数据目录(保存管理员账号、客户端信息等) - ./db:/app/db ports: # 映射管理端口:主机 5000 端口 → 容器 5000 端口 - "5000:5000" depends_on: - wireguard # 先启动 wireguard 容器,再启动 UI 容器 # WireGuard 隧道服务容器 wireguard: image: linuxserver/wireguard:amd64-1.0.20250521 container_name: wireguard restart: always cap_add: - NET_ADMIN # 授予容器网络管理权限(必需) - SYS_MODULE # 允许加载内核模块(必需) environment: - TZ=Asia/Shanghai - PUID=1000 # 当前用户 UID(默认 1000,无需修改) - PGID=1000 # 当前用户 GID(默认 1000,无需修改) - WG_PORT=51820 # WireGuard 数据端口(与开放的 UDP 端口一致) volumes: - ./wireguard:/etc/wireguard # 共享 WireGuard 配置目录(与 UI 容器同步) - /lib/modules:/lib/modules # 挂载主机内核模块(必需) ports: - "51820:51820/udp" # 映射 WireGuard 数据端口 sysctls: # 启用 IP 转发(必需,允许客户端通过服务器访问外网) - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1