5139fbb79a
Prepares the docs for the public release announcement: removes obsolete/dead material, fixes drift between the API reference and the actual routes, and standardizes on the default GitHub Pages URL. - Remove Vagrant entirely: delete Vagrantfile, docs/dev_setup.md, and stale vagrant references in .gitignore/.dockerignore; rewrite openresty/README.md to describe the actual (currently unused) directory and point to ops/nginx_conf/ for the real OpenResty config. - Delete docs/Update 4.11.md (personal scratch changelog) and drop both its and dev_setup.md's references from docs/README.md's Legacy Documentation section. - Remove checkmark emoji from docs/contributing.md's PR Requirements list. - Bring the auth model docs up to date with the code: document GET /api/auth/oidc/start + /callback, the /api/permission and /api/group RBAC routers, the /api/dns/dynamic/* sub-API, and /api/api-token (self -service PATs) in both nodejs/api.md and docs/api.md; add the missing "Clear Host Cache" section; drop the invite-token/SSH-key endpoints that no longer exist in nodejs/routes/user.js; note admin-only routes. Mention OIDC/LDAP/RBAC as core features in README.md. - Keep nodejs/api.md and docs/api.md fully in sync (same body, differing only in Jekyll front matter / relative links) instead of letting them drift. - Fix Node.js version references (20.x -> 22.x) in README.md and docs/installation.md to match ops/install.sh and the Dockerfile. - Note that the manual nginx-conf/systemd install steps in README.md and docs/installation.md won't auto-track repo changes the way install.sh's symlink approach does, and recommend install.sh. - Update the stale test/unit file lists in docs/contributing.md and nodejs/test/README.md to match the actual directory contents. - Add npm run test:integration to README.md's Running Tests section. - Add nodejs/conf/, nodejs/controller/, and nodejs/migrations/ to the project structure diagrams in README.md, docs/architecture.md, and docs/contributing.md. - Standardize "CloudFlare" -> "Cloudflare" everywhere to match the actual API value in nodejs/models/dns_provider.js. - Add the missing app_auth__adminGroups row to DEPLOYMENT.md's app_* table. - Delete docs/CNAME (custom domain) so GitHub Pages serves from the default https://theta42.github.io/proxy/, matching docs/README.md. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
layout, title
| layout | title |
|---|---|
| default | Home |
Proxy
A reverse proxy and HTTPS termination service using OpenResty/nginx with a management API and web GUI.
Features
- Automated HTTPS/SSL - Let's Encrypt integration with HTTP-01 and DNS-01 challenges
- Wildcard SSL Certificates - Support for wildcard domains with automatic renewal
- Multiple DNS Providers - Cloudflare, DigitalOcean, PorkBun integrations
- Advanced Routing - Sophisticated wildcard domain matching (*, **)
- RESTful API - Full programmatic control
- Web Interface - User-friendly management GUI
- High Performance - Unix socket-based host lookup for minimal latency
Quick Start
Docker (recommended for self-hosters)
A single all-in-one image bundling OpenResty + the app + Redis:
git clone https://github.com/theta42/proxy.git
cd proxy && docker compose up -d --build
See the Docker Guide for configuration (OIDC/LDAP via app_* env)
and fronting an SSO Manager.
Automated bare-metal installation
For modern Debian-based systems (Ubuntu 20.04+, Debian 11+):
wget -O - https://raw.githubusercontent.com/theta42/proxy/master/ops/install.sh | sudo bash
Requirements (bare metal)
- Node.js 18+ (tested with 18.x, 20.x, 22.x)
- OpenResty (nginx with Lua support)
- Redis
- Linux system with root access
Documentation
- Docker Guide - All-in-one container deployment + configuration
- Installation Guide - Bare-metal setup instructions
- API Reference - Complete API documentation
- Architecture - System design and components
- Contributing - Development and testing guide
Use Cases
Development Teams
- Host multiple projects on a single server with unique domains
- Automatic SSL for all development sites
- Easy configuration via API or web UI
Production Deployments
- High-performance reverse proxy for microservices
- Centralized SSL certificate management
- Dynamic routing without nginx reloads
Personal Projects
- Self-hosted services with automatic HTTPS
- Wildcard certificates for unlimited subdomains
- Simple management interface
Architecture
┌─────────────┐
│ Client │
└──────┬──────┘
│ HTTPS
▼
┌─────────────────────┐
│ OpenResty/Nginx │
│ - SSL Termination │
│ - Host Routing │
└──────┬──────────────┘
│ Unix Socket
▼
┌─────────────────────┐ ┌─────────────┐
│ Node.js API │◄────►│ Redis │
│ - Management │ │ - Storage │
│ - SSL Orchestration│ │ - Cache │
└──────┬──────────────┘ └─────────────┘
│
▼
┌─────────────────────┐
│ Backend Services │
│ - Your Apps │
└─────────────────────┘
Community
License
MIT License - See LICENSE for details.