GoDoxy 是一款 Go 语言编写的高性能反向代理工具,Docker 标签自动发现路由,WebUI 可视化管理,OIDC 身份验证,泛域名证书自动签发,支持 Proxmox LXC 容器发现,适合自托管玩家,2120 commits 活跃开源。
🎤 引言
自建服务多了,配置 Nginx 反代是个头疼事。泛域名证书、容器重启后路由恢复、OIDC 登录保护……每加一个服务就要写一堆配置文件,还容易出错。
GoDoxy 就是来解决这个问题的:一个 Go 写的高性能反向代理,Docker 标签自动发现路由,WebUI 点几下就配置好,还支持 OIDC 身份验证和 Proxmox 集成。
GitHub 3.4k Star,2120 次 commits,今天刚更新(Jul 9 2026)。中文社区已经有人称其为"自托管党福音",集大成之作。
⭐ 核心功能
1. Docker 自动发现 + 标签路由
在 docker-compose 里加一行 label:
services:
qbittorrent:
labels:
proxy.aliases: qbt保存后,qbt.domain.com 就直接指向这个容器了。不用写配置文件,不用重启服务,GoDoxy 自动感知、自动路由。container_name 字段也能作为默认域名。
2. WebUI 可视化管理
安装后打开 WebUI,清晰展示所有路由和容器状态。可以在这里增删路由、查看日志、配置 OIDC、管理证书。不需要 SSH 进机器改配置文件。
3. OIDC / OAuth2 身份验证
几行配置就能给指定域名加上登录验证:
oidc:
enabled: true
issuer: https://your-oidc-provider.com
client_id: godoxy
protected_routes:
- qbt.domain.com支持任何兼容 OIDC 的 provider(Authentik、Keycloak、Authelia 等)。
4. 泛域名证书自动签发
配置好泛域名 DNS 指向 GoDoxy 所在机器后,证书自动申请、自动续期。不用手动跑 certbot,不用操心 crontab。
5. IP / CIDR 白名单
在 WebUI 或配置文件里设定允许访问的 IP 段,拒绝未授权请求。适合只希望内网或特定 VPN 用户访问的服务。
6. Proxmox LXC 容器集成
不只是 Docker,GoDoxy 还能发现和管理 Proxmox 上的 LXC 容器,自动反向代理到对应域名。对同时跑 Docker 和 LXC 的用户来说统一管理很方便。
7. 容器指标与日志
WebUI 里直接看各个容器流量指标和日志输出,不用 docker logs 翻来翻去。
8. 容器 System Agent 自动更新
GoDoxy 在每台宿主机上安装轻量 Agent,支持 systemd 和 Alpine/OpenRC,自动更新,卸载也干净。
📥 安装与使用
前置要求
- Linux 机器(设计为 host 网络模式运行)
- Docker + Docker Compose
- 泛域名 DNS 解析指向 GoDoxy 所在机器 IP
一键安装
# 新建目录
mkdir godoxy && cd godoxy
# 下载官方安装脚本
curl -fsSL https://raw.githubusercontent.com/yusing/godoxy/main/scripts/setup.sh | bash
# 启动
docker compose up -d脚本会自动生成 compose.yml、.env 和基础配置文件。启动后访问 https://godoxy.你的域名.com 打开 WebUI。
手动配置
# 下载示例配置
mkdir -p config
wget -O config/config.yml https://raw.githubusercontent.com/yusing/godoxy/main/config.example.yml
wget -O .env https://raw.githubusercontent.com/yusing/godoxy/main/.env.example
# 修改 .env 中的域名和端口
# 修改 config.yml 中的 OIDC 等配置
# 启动
docker compose -f compose.example.yml up -dDocker 标签使用示例
version: "3.8"
services:
qbittorrent:
image: qbittorrenter/qbittorrenter
container_name: qbt
labels:
proxy.aliases: qbt,downloads
# 访问 qbt.domain.com 或 downloads.domain.com更新 / 卸载
# 更新 Agent
godoxy-agent-update
# 卸载
godoxy-agent-uninstall🎯 适用场景
- 自托管多服务玩家:跑了几十个 Docker 容器,不想每个都手动配 Nginx 反代
- 家庭小 lab:有公网 IP + 泛域名,需要给每个服务配 HTTPS
- 小团队内网服务:需要 OIDC 保护,不希望暴露到公网裸奔
- Proxmox + Docker 混合用户:LXC 里跑 Docker,GoDoxy 统一管理
- 追求配置简便:Traefik 语法太复杂,Caddy 功能不够,NPM 不够灵活
🔍 对比/替代方案
| 方案 | 自动发现 | WebUI | OIDC | 泛域名证书 | 学习成本 |
|---|---|---|---|---|---|
| GoDoxy | ✅ Docker 标签 | ✅ | ✅ | ✅ | 低 |
| Nginx + 手动配置 | ❌ | ❌ | 需额外配置 | 手动 | 高 |
| Traefik | ✅ | 有限 | 需额外配置 | ✅ | 中 |
| Caddy | ❌ | ❌ | 需插件 | ✅ | 低 |
| Nginx Proxy Manager | 有限 | ✅ | ❌ | ✅ | 低 |
GoDoxy 踩在"自动发现"的便利用和"完整功能集"的平衡点上。相比 Traefik 的复杂 label 语法,GoDoxy 用 proxy.aliases 一个 label 就搞定。相比 Caddy 不支持自动发现。相比 Nginx Proxy Manager,GoDoxy 支持 OIDC 保护,而且 Go 编写性能更高、资源占用更低。
⚠️ 注意事项
- 必须 host 网络模式:GoDoxy 设计运行在 Docker host 网络下,不要用 bridge 网络模式,否则无法正常工作。
- DNS 必须提前配置好:泛域名要解析到 GoDoxy 机器 IP,否则证书申请会失败。
- OIDC 配置需要一定理解:建议先在 Authentik / Keycloak 等平台建好 client 再配置 GoDoxy。
- Agent 侵入式安装:system agent 安装在宿主机上,介意系统改动的用户需注意。
- Star 3.4k 仍属小众:相比 Nginx/Traefik 社区较小,遇到问题主要靠 Discord 或读源码。
✅ 总结
优点
- Docker 标签自动发现路由,配置极简
- WebUI 可视化管理,不需要改文件
- OIDC 保护,泛域名证书自动签发
- Proxmox LXC 集成,混合环境统一管理
- Go 编写,高性能低内存占用
- 活跃开发,今天刚有 commit
缺点
- 必须 host 网络模式,和某些容器网络需求冲突
- DNS 需要提前配置,有一定前置门槛
- OIDC 配置对新手不友好
- 社区相比老牌方案较小
推荐指数:⭐⭐⭐⭐(4/5)
如果你有公网 IP、跑了一堆 Docker 容器、厌倦了每次加服务都要改 Nginx 配置,GoDoxy 值得一试。Docker label 一行配置 + WebUI 点点就完成反代 + OIDC 保护,是目前这个赛道上最顺滑的方案之一。
参考链接: