Skip to content

lasmarois/zedops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

337 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZedOps

Cloudflare-powered web platform for managing distributed Project Zomboid dedicated servers with agent-based orchestration, real-time monitoring, and RBAC.

License: MIT


What is ZedOps?

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

Architecture

┌──────────────────────────────┐
│  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.


Quick Start

Note: Project is currently in development. These instructions will work once Milestone 1 is complete.

1. Deploy Manager (Cloudflare)

# 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

2. Install Agent (On Each Friend's Computer)

# Get installation token from manager UI
curl -sSL https://your-manager.workers.dev/install.sh | \
  TOKEN=your-token-here bash

3. Manage Servers

  1. Visit manager UI: https://your-manager.workers.dev
  2. See connected agents
  3. Add servers, configure settings, view logs
  4. Use RCON console for administration

Development

Prerequisites

  • Node.js 18+
  • Go 1.21+
  • Docker
  • Cloudflare account (free tier)

Local Setup

# 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.go

See CLAUDE.md for development guide.


Project Status

Current Phase: Initial planning and setup

Completed Milestones: None yet

Next Milestone: M1 - Agent Connection (⏳ Planned)

See MILESTONES.md for roadmap.


Documentation


Technology Stack

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.


Why ZedOps?

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)

Contributing

This project is currently in early development. Contributions welcome once Milestone 1 is complete!

Development Workflow:

  1. Read CLAUDE.md for development guide
  2. Check MILESTONES.md for current work
  3. Each milestone uses planning-with-files pattern (see planning-history/)

License

MIT License - see LICENSE file for details.


Acknowledgments

  • Built for the Project Zomboid community
  • Inspired by Pterodactyl Panel and Portainer
  • Uses steam-zomboid Docker image for servers

Project Name

Zed = British slang for zombies Ops = Operations/DevOps

ZedOps = Zombie server operations made easy 🧟‍♂️

About

Cloudflare-powered web platform for managing distributed Project Zomboid dedicated servers with agent-based orchestration, real-time monitoring, and RBAC.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors