2026-09-06 15:31:38 +07:00
2026-09-06 15:05:00 +07:00
2026-09-06 13:59:53 +07:00
2026-09-06 15:31:38 +07:00
2026-09-06 15:05:00 +07:00
2026-09-06 13:59:53 +07:00
2026-09-06 13:59:53 +07:00
2026-09-06 13:59:53 +07:00
2026-09-06 13:59:53 +07:00
2026-09-06 13:59:53 +07:00
2026-09-06 15:05:00 +07:00

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.

S
Description
Lightweight VPS system monitor and Caddy reverse proxy dashboard in a single binary
Readme
3 MiB
Languages
Svelte 55%
Go 41.9%
CSS 0.9%
JavaScript 0.8%
Makefile 0.8%
Other 0.6%