Cloudflare-powered web platform for managing distributed Project Zomboid dedicated servers with agent-based orchestration, real-time monitoring, and RBAC.
ZedOps lets you and your friends manage Project Zomboid servers running on different computers from a single web interface. No port forwarding, no VPS costs, just a lightweight agent on each machine and a globally-deployed manager hosted on Cloudflare (for free).
Key Features:
- 🌐 Centralized Web UI - Manage all servers from one place
- 🔌 NAT-Friendly - Works through firewalls (agents connect outbound)
- 💰 Free Hosting - Runs on Cloudflare free tier ($0/month)
- 📊 Real-Time Monitoring - Live logs, server status, player counts
- 🎮 RCON Console - Built-in terminal for server administration
- 👥 Multi-User RBAC - Role-based access (admin, operator, viewer)
- 📝 Audit Logs - Track who did what, when
┌──────────────────────────────┐
│ Cloudflare Worker (Manager) │
│ - React UI (Static Assets) │
│ - API (Hono) │
│ - WebSocket Hub (Durable) │
│ - Database (D1) │
└──────────────┬───────────────┘
│ WebSocket
──────┼─────────────
│ │ │
┌────▼──┐ ┌▼─────┐ ┌───▼───┐
│Agent 1│ │Agent 2│ │Agent N│
│(Go) │ │(Go) │ │(Go) │
└───┬───┘ └───┬──┘ └───┬───┘
│ │ │
┌───▼───┐ ┌───▼──┐ ┌───▼───┐
│Docker │ │Docker│ │Docker │
│Server │ │Server│ │Server │
└───────┘ └──────┘ └───────┘
- Manager: TypeScript - Single Cloudflare Worker (full-stack)
- Agent: Go binary (controls local Docker containers)
- Communication: NATS-inspired message protocol over WebSocket
See ARCHITECTURE.md for detailed design.
Note: Project is currently in development. These instructions will work once Milestone 1 is complete.
# Clone repository
git clone https://github.com/yourusername/zedops.git
cd zedops
# Build frontend
cd frontend
npm install
npm run build
# Deploy (full-stack: frontend + manager)
cd ../manager
npm install
wrangler deploy
# Deploys React UI + API + Durable Objects in one command# Get installation token from manager UI
curl -sSL https://your-manager.workers.dev/install.sh | \
TOKEN=your-token-here bash- Visit manager UI:
https://your-manager.workers.dev - See connected agents
- Add servers, configure settings, view logs
- Use RCON console for administration
- Node.js 18+
- Go 1.21+
- Docker
- Cloudflare account (free tier)
# Frontend
cd frontend
npm install
npm run dev # http://localhost:5173
# Manager
cd manager
npm install
wrangler dev # http://localhost:8787
# Agent
cd agent
go mod download
go run main.goSee CLAUDE.md for development guide.
Current Phase: Initial planning and setup
Completed Milestones: None yet
Next Milestone: M1 - Agent Connection (⏳ Planned)
See MILESTONES.md for roadmap.
- ARCHITECTURE.md - System architecture and design
- MILESTONES.md - Project roadmap
- TECH_DECISIONS.md - Technical decision log
- CLAUDE.md - AI assistant development guide
- planning-history/ - Archived planning sessions
| Component | Technology |
|---|---|
| Frontend | React, TypeScript, Vite, Shadcn UI, TanStack Query |
| Manager | Cloudflare Workers (full-stack), Hono, TypeScript |
| WebSocket Hub | Cloudflare Durable Objects |
| Database | Cloudflare D1 (SQLite) |
| Agent | Go, gorilla/websocket, Docker SDK |
| Deployment | Single Cloudflare Worker (static assets + API) |
See TECH_DECISIONS.md for rationale.
Problem: You and your friends run Project Zomboid servers on different computers. Managing them separately is tedious (SSH to each machine, edit configs manually, restart containers).
Solution: ZedOps provides a centralized web UI. Agents on each computer connect to the manager (hosted on Cloudflare). You control everything from one place.
Benefits:
- ✅ No port forwarding needed (agents connect outbound)
- ✅ Free to host (Cloudflare free tier)
- ✅ Real-time logs and monitoring
- ✅ RCON console built-in
- ✅ Role-based access for friends
- ✅ Audit logs (accountability)
This project is currently in early development. Contributions welcome once Milestone 1 is complete!
Development Workflow:
- Read CLAUDE.md for development guide
- Check MILESTONES.md for current work
- Each milestone uses planning-with-files pattern (see planning-history/)
MIT License - see LICENSE file for details.
- Built for the Project Zomboid community
- Inspired by Pterodactyl Panel and Portainer
- Uses steam-zomboid Docker image for servers
Zed = British slang for zombies Ops = Operations/DevOps
ZedOps = Zombie server operations made easy 🧟♂️