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 -d

Docker 标签使用示例

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 不够灵活

🔍 对比/替代方案

方案自动发现WebUIOIDC泛域名证书学习成本
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 保护,是目前这个赛道上最顺滑的方案之一。

参考链接: