Files
proxy/docs/index.md
T
wmantly 5139fbb79a Documentation cleanup for public release (#123)
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>
2026-07-13 23:20:59 -04:00

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

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

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.