Jeremy 01ef53256a Update frontend/src/pages/ProxyHosts.tsx
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-11-17 18:34:52 -05:00

CaddyProxyManager+

CaddyProxyManager+ is a modern web UI and management layer that brings Nginx Proxy Manager-style simplicity to Caddy, with extra security add-ons (CrowdSec, WAF, SSO, etc.).

This repository now ships the first working slices of the Go backend and Vite/React frontend described in ARCHITECTURE_PLAN.md.

Quick links

Tech stack

  • Backend: Go 1.22, Gin, GORM, SQLite (configurable path via env vars)
  • Frontend: React 18 + TypeScript, Vite bundler, React Query, React Router
  • API: REST over /api/v1, currently exposes health + proxy host CRUD

See ARCHITECTURE_PLAN.md for the detailed rationale and roadmap for each tier.

Getting started

Prerequisites

  • Go 1.22+
  • Node.js 20+
  • SQLite3

Quick Start (using Makefile)

# Install all dependencies
make install

# Run tests
make test

# Run backend
make run

# Run frontend (in another terminal)
make run-frontend

# Or run both with tmux
make dev

Manual Setup

Backend API

cd backend
cp .env.example .env # optional overrides
go run ./cmd/api

Run tests:

cd backend
go test ./...

Frontend UI

cd frontend
npm install
npm run dev

The Vite dev server proxies /api/* to http://localhost:8080 so long as the backend is running locally.

Build for production:

cd frontend
npm run build

Docker Deployment

# Build the image
make docker-build

# Run the container
make docker-run

# Or manually:
docker build -t caddyproxymanager-plus .
docker run -p 8080:8080 -v cpm-data:/app/data caddyproxymanager-plus

Tooling

  • Build system: Makefile provides common development tasks (make help for all commands)
  • Branching model: development is the integration branch; open PRs from feature/**
  • CI: .github/workflows/ci.yml runs Go tests, ESLint, and frontend builds
  • Docker: Multi-stage build with Node (frontend) → Go (backend) → Alpine runtime

Contributing

  • See CONTRIBUTING.md (coming soon) for contribution guidelines.

License

  • MIT License see LICENSE.
Description
A lightweight, user-friendly web interface for managing Caddy as a reverse proxy. It simplifies SSL management and host routing for self-hosters who want the power of Caddy without the manual configuration.
Readme MIT 77 MiB
Languages
Go 52.2%
TypeScript 43.6%
Shell 3.5%
Dockerfile 0.3%
JavaScript 0.2%