main
Caddytor
A lightweight, single-binary monitoring dashboard for Ubuntu VPS and Caddy reverse proxy.
Features
- System Health Gauges: Real-time CPU, RAM (accurate
MemAvailable), Disk (/), and overall System Load. - Live Traffic Chart: Real-time upload (TX) and download (RX) speed graph with 60-second rolling history.
- Caddy Upstreams Monitor: Live health check status for reverse proxy backends.
- Caddyfile Web Editor: View, edit, test syntax (
caddy validate), and reload Caddy in one click with automatic backup. - Integrated File Manager: Clean FileBrowser/aaPanel-style file management with drag-and-drop upload, on-the-fly zip downloads, cut, copy, paste, rename, and new folder creation.
- Resource Friendly: Single Go binary (~7.3MB) with embedded web UI. Uses ~10MB RAM.
- Cross-Platform Dev Compatibility: Built-in mock metrics simulation and cross-platform path handling for seamless local development on macOS and Windows 11.
Quick Start (Ubuntu Server)
1. Build the Binary
Clone and build the single binary on any machine with Go & Node.js:
git clone https://github.com/yourusername/caddytor.git
cd caddytor
make build-linux
The output file is bin/caddytor-linux-amd64.
2. Copy to Your Server
Copy the binary and systemd service to your Ubuntu VPS:
# Copy binary
sudo mkdir -p /opt/caddytor
sudo cp bin/caddytor-linux-amd64 /opt/caddytor/caddytor
sudo chmod +x /opt/caddytor/caddytor
# Copy service
sudo cp scripts/caddytor.service /etc/systemd/system/
3. Start Service
sudo systemctl daemon-reload
sudo systemctl enable --now caddytor
Open http://YOUR_SERVER_OR_WIREGUARD_IP:8080 in your browser.
Configuration
Configure options using environment variables or a .env file:
| Variable | Default | Description |
|---|---|---|
LISTEN_ADDR |
127.0.0.1:8080 |
Bind address (use WireGuard IP or localhost) |
CADDY_ADMIN_URL |
http://127.0.0.1:2019 |
Caddy Admin API address |
CADDYFILE_PATH |
/etc/caddy/Caddyfile |
Path to your Caddyfile |
DISK_PATH |
/ |
Mount point to measure disk usage |
FS_ROOT |
/ (or . on Win) |
Root scope path for the File Manager |
Local Development (Windows / macOS / Linux)
You can run Caddytor locally. On non-Linux machines, simulated metrics are generated automatically:
# Terminal 1: Start Go Backend
go run ./cmd/caddytor
# Terminal 2: Start Frontend with Live Reload
cd web
npm install
npm run dev
Open http://localhost:5173.
Description
Lightweight VPS system monitor and Caddy reverse proxy dashboard in a single binary
3 MiB
Languages
Svelte
55%
Go
41.9%
CSS
0.9%
JavaScript
0.8%
Makefile
0.8%
Other
0.6%