Running demo
https://demo.godoxy.dev
Quick start
Configure Wildcard DNS Record(s) to point to machine running GoDoxy, e.g.
- A Record:
*.domain.com -> 10.0.10.1
- AAAA Record (if you use IPv6):
*.domain.com -> ::ffff:a00:a01
GoDoxy is designed to be running in host network mode, do not change it.
To change listening ports, modify .env.
-
Prepare a new directory for Docker Compose and config files.
-
Run setup script inside the directory, or set up manually
/bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/godoxy/main/scripts/setup.sh)"
-
Start the docker compose service from generated compose.yml:
docker compose up -d
-
You may now do some extra configuration on WebUI https://godoxy.yourdomain.com
Key features
- Simple setup
- Automatic routing
- Discover Docker and Podman containers
- Hot-reload config and container state changes
- Manage Let’s Encrypt certificates with DNS-01 providers
- Traffic management
- Access control
- IP/CIDR rules
- Country and timezone rules with a MaxMind account
- Access logging
- Periodic access summaries
- Idle sleep
- Stop and wake Docker containers based on traffic
- Stop and wake Proxmox LXC containers based on traffic
- Proxmox integration
- Bind routes automatically to nodes or LXC containers
- Start, stop, and restart LXC containers from the WebUI
- Stream node and LXC logs through WebSocket
- Platform support
How GoDoxy works
- List all the containers
- Read container name, labels, and port configurations for each of them
- Create a route if applicable (a route is like a “Virtual Host” in NPM)
- Watch for container / config changes and update automatically
GoDoxy uses the label proxy.aliases as the subdomain(s), if unset it defaults to the container_name field in docker compose.
For example, with the label proxy.aliases: qbt you can access your app via qbt.domain.com.
Screenshots
idlesleeper

Metrics and Logs
 |
 |
| Routes |
Servers |
Proxmox Integration
GoDoxy can automatically discover and manage Proxmox nodes and LXC containers through configured providers.
Automatic Route Binding
Routes are automatically linked to Proxmox resources through reverse lookup:
- Node-level routes (VMID = 0): When hostname, IP, or alias matches a Proxmox node name or IP
- Container-level routes (VMID > 0): When hostname, IP, or alias matches an LXC container
This enables seamless proxy configuration without manual binding:
routes:
pve-node-01:
host: pve-node-01.internal
port: 8006
# Automatically links to Proxmox node pve-node-01
WebUI Management
From the WebUI, you can:
- LXC Lifecycle Control: Start, stop, restart containers
- Node Logs: Stream real-time journalctl or log files output from nodes
- LXC Logs: Stream real-time journalctl or log files output from containers
Update / uninstall system agent
Installer supports both systemd and Alpine/OpenRC (rc-service) hosts.
Update:
sh -c "$(curl -fsSL https://github.com/yusing/godoxy/raw/refs/heads/main/scripts/install-agent.sh)" -- update
Uninstall:
sh -c "$(curl -fsSL https://github.com/yusing/godoxy/raw/refs/heads/main/scripts/install-agent.sh)" -- uninstall
Manual Setup
-
Make config directory then grab config.example.yml into config/config.yml
mkdir -p config && wget https://raw.githubusercontent.com/yusing/godoxy/main/config.example.yml -O config/config.yml
-
Grab .env.example into .env
wget https://raw.githubusercontent.com/yusing/godoxy/main/.env.example -O .env
-
Grab compose.example.yml into compose.yml
wget https://raw.githubusercontent.com/yusing/godoxy/main/compose.example.yml -O compose.yml
Folder structure
├── 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
Build from source
-
Clone the repository git clone https://github.com/yusing/godoxy --depth=1
-
Install / Upgrade go (>=1.22) and shadowtree if not already
-
Clear cache if you have built this before (go < 1.22) with go clean -cache
-
Get dependencies with shadowtree mod-tidy
-
Build binary with shadowtree build
Star History

评论