Added sections for Proxmox integration, including automatic route binding, WebUI management, and API endpoints. Updated existing content to reflect LXC lifecycle control and real-time logging capabilities for both Docker and Proxmox environments.
8.0 KiB
目錄
運行示例
主要特點
- 簡單易用
- 存取控制 (ACL):連線/請求層級存取控制
- IP/CIDR
- 國家 (需要 Maxmind 帳戶)
- 時區 (需要 Maxmind 帳戶)
- 存取日誌記錄
- 定時發送摘要 (允許和拒絕的連線次數)
- 自動化
- 使用 Let's Encrypt 自動管理 SSL 憑證 (使用 DNS-01 驗證)
- Docker 容器自動配置
- 設定檔與容器狀態變更時自動熱重載
- 容器運行時支援
- Docker
- Podman
- 閒置休眠:根據流量停止和喚醒容器 (參見截圖)
- Docker 容器
- Proxmox LXC 容器
- Proxmox 整合
- 自動路由綁定:透過比對主機名稱、IP 或別名自動將路由綁定至 Proxmox 節點或 LXC 容器
- LXC 生命週期控制:可直接從 WebUI 啟動、停止、重新啟動容器
- 即時日誌:透過 WebSocket 串流節點和 LXC 容器的 journalctl 日誌
- 流量管理
- HTTP 反向代理
- TCP/UDP 連接埠轉送
- OpenID Connect 支援:輕鬆實現單點登入 (SSO) 並保護您的應用程式
- ForwardAuth 支援:整合任何 auth provider (例如 TinyAuth)
- 客製化
- 網頁使用者介面 (Web UI)
- 應用程式一覽
- 設定編輯器
- 執行時間與系統指標
- Docker
- 容器生命週期管理 (啟動、停止、重新啟動)
- 透過 WebSocket 即時串流容器日誌
- Proxmox
- LXC 容器生命週期管理 (啟動、停止、重新啟動)
- 透過 WebSocket 即時串流節點和 LXC 容器 journalctl 日誌
- 跨平台支援
- 支援 linux/amd64 與 linux/arm64
- 高效能
- 以 Go 語言編寫
前置需求
設置 DNS 記錄指向運行 GoDoxy 的機器,例如:
- A 記錄:
*.y.z->10.0.10.1 - AAAA 記錄:
*.y.z->::ffff:a00:a01
安裝
Note
GoDoxy 僅在
host網路模式下運作,請勿更改。如需更改監聽埠,請修改
.env。
-
準備一個新目錄用於 docker compose 和配置文件。
-
在目錄內運行安裝腳本,或手動安裝
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/godoxy/main/scripts/setup.sh)" -
現在可以在 WebUI
https://godoxy.yourdomain.com進行額外配置
手動安裝
-
建立
config目錄,然後將config.example.yml下載到config/config.ymlmkdir -p config && wget https://raw.githubusercontent.com/yusing/godoxy/main/config.example.yml -O config/config.yml -
將
.env.example下載到.envwget https://raw.githubusercontent.com/yusing/godoxy/main/.env.example -O .env -
將
compose.example.yml下載到compose.ymlwget https://raw.githubusercontent.com/yusing/godoxy/main/compose.example.yml -O compose.yml
資料夾結構
├── certs
│ ├── cert.crt
│ └── priv.key
├── compose.yml
├── config
│ ├── config.yml
│ ├── middlewares
│ │ ├── middleware1.yml
│ │ ├── middleware2.yml
│ ├── provider1.yml
│ └── provider2.yml
├── data
│ ├── metrics # metrics data
│ │ ├── uptime.json
│ │ └── system_info.json
└── .env
Proxmox 整合
GoDoxy 可透過配置的提供者自動探索和管理 Proxmox 節點和 LXC 容器。
自動路由綁定
路由透過反向查詢自動連結至 Proxmox 資源:
- 節點級路由 (VMID = 0):當主機名稱、IP 或別名符合 Proxmox 節點名稱或 IP 時
- 容器級路由 (VMID > 0):當主機名稱、IP 或別名符合 LXC 容器時
這可實現無需手動綁定的無縫代理配置:
routes:
pve-node-01:
host: pve-node-01.internal
port: 8006
# 自動連結至 Proxmox 節點 pve-node-01
WebUI 管理
您可以從 WebUI:
- LXC 生命週期控制:啟動、停止、重新啟動容器
- 節點日誌:串流來自節點的即時 journalctl 輸出
- LXC 日誌:串流來自容器的即時 journalctl 輸出
API 端點
# 節點 journalctl (WebSocket)
GET /api/v1/proxmox/journalctl/:node
# LXC journalctl (WebSocket)
GET /api/v1/proxmox/journalctl/:node/:vmid
# LXC 生命週期控制
POST /api/v1/proxmox/lxc/:node/:vmid/start
POST /api/v1/proxmox/lxc/:node/:vmid/stop
POST /api/v1/proxmox/lxc/:node/:vmid/restart
更新 / 卸載系統代理 (System Agent)
更新:
sudo /bin/bash -c "$(curl -fsSL https://github.com/yusing/godoxy/raw/refs/heads/main/scripts/install-agent.sh)" -- update
卸載:
sudo /bin/bash -c "$(curl -fsSL https://github.com/yusing/godoxy/raw/refs/heads/main/scripts/install-agent.sh)" -- uninstall
截圖
閒置休眠
監控
自行編譯
-
克隆儲存庫
git clone https://github.com/yusing/godoxy --depth=1 -
如果尚未安裝,請安裝/升級 go (>=1.22) 和
make -
如果之前編譯過(go < 1.22),請使用
go clean -cache清除快取 -
使用
make get獲取依賴 -
使用
make build編譯二進制檔案



