Skip to content

DDULDDUCK/pingora-proxy-manager

Repository files navigation

Pingora Proxy Manager Logo

Pingora Proxy Manager

High-Performance • Zero-Downtime • Modern UI

Built on Cloudflare's Pingora and Rust.

GitHub Wiki License Docker

Rust React Tailwind

FeaturesQuick StartDocumentationContributing


📖 Overview

Pingora Proxy Manager is a next-generation reverse proxy solution designed for speed and reliability. It combines the raw performance of Rust and Cloudflare's Pingora framework with a beautiful, modern React dashboard.

Unlike traditional proxies, PPM supports zero-downtime configuration reloading, meaning your active connections are never dropped when you add hosts or change SSL settings.

image image image image

✨ Features

Feature Description
⚡️ High Performance Powered by Rust & Pingora for ultra-low latency and high throughput.
🔄 Zero-Downtime Dynamic architecture allows configuration changes without restarting the process.
🔒 SSL Automation HTTP-01 and DNS-01 (Wildcard) support via Let's Encrypt.
🌐 Proxy Hosts Easy management of virtual hosts, path routing, and advanced rewriting.
📡 L4 Streams TCP/UDP forwarding for databases, game servers, and other non-HTTP services.
🛡️ Access Control Secure your services with IP Whitelists/Blacklists and Basic Authentication.
📊 Real-time Stats Live traffic monitoring, status codes, and historical data visualization.
🐳 Docker Ready Single-container deployment with a lightweight footprint.

🚀 Quick Start

The fastest way to get started is using Docker Compose.

1. Create docker-compose.yml

services: pingora-proxy: image: dduldduck/pingora-proxy-manager:latest container_name: pingora-proxy restart: always network_mode: host # Recommended for performance & L4 streams volumes: - ./data:/app/data # Database & Certs - ./letsencrypt:/etc/letsencrypt # Certbot account, renewal, and live cert state - ./logs:/app/logs # Access Logs environment: - JWT_SECRET=changeme_in_production_please - RUST_LOG=info

Note: We recommend network_mode: host for best performance and simplified port management. If you prefer bridge mode, ensure you map ports 80:8080, 443:443, and 81:81.

For Let's Encrypt, keep both ./data:/app/data and ./letsencrypt:/etc/letsencrypt mounted. HTTP-01 validation reaches PPM over host port 80, which the container forwards to the app's internal port 8080.

Optional: If you run PPM behind another reverse proxy

If your traffic path is Client -> Cloudflare/Nginx/ALB -> PPM, set PPM_TRUSTED_PROXY_IPS (or TRUSTED_PROXY_IPS) to the IP(s) of the immediate proxy hop. Otherwise, PPM only trusts loopback for forwarded headers and may not use X-Forwarded-For / X-Forwarded-Proto.

Example:

PPM_TRUSTED_PROXY_IPS=127.0.0.1,10.0.0.10

2. Start the Service

docker compose up -d

3. Access Dashboard

Visit http://localhost:81 (or your server IP) and log in:

  • Username: admin
  • Password: changeme

⚠️ Important: Please change your password immediately after logging in.

📚 Documentation

We have comprehensive documentation available in our GitHub Wiki:

🛠️ Development

Want to contribute or build from source?

Native Development

You can run the backend (Rust) and frontend (React/Vite) independently for faster iteration.

  1. Backend: cd backend && cargo run (Listens on 81 & 8080)
  2. Frontend: cd frontend && npm run dev (Proxies API to 81)

See the Development Setup guide for details.

❤️ Support the Project

Is Pingora Proxy Manager saving you time?

This project is built with love, caffeine, and many sleepless nights. If you'd like to support the development, server costs, and new features, consider buying me a coffee! ☕️

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please check our Contributing Guide for guidelines.

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

A high-performance, zero-downtime reverse proxy manager built on Cloudflare's Pingora. Simple, Modern, and Fast. Now supports Wildcard SSL & TCP/UDP Streams!

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors