Merge pull request #253 from Wikid82/main

Propagate changes from main into development
This commit is contained in:
Jeremy
2025-11-28 10:14:13 -05:00
committed by GitHub
6 changed files with 297 additions and 497 deletions

View File

@@ -37,6 +37,15 @@
- The root `Dockerfile` builds the Go binary and the React static assets (multi-stage build).
- Branch from `feature/**` and target `development`.
## Documentation
- **Feature Documentation**: When adding new features, update `docs/features.md` to include the new capability. This is the canonical list of all features shown to users.
- **README**: The main `README.md` is a marketing/welcome page. Keep it brief with top features, quick start, and links to docs. All detailed documentation belongs in `docs/`.
- **New Docs**: When adding new documentation files to `docs/`, also add a card for it in `.github/workflows/docs.yml` in the index.html section. The markdown-to-HTML conversion is automatic, but the landing page cards are manually curated.
- **Link Format**: Use GitHub Pages URLs for documentation links, not relative paths:
- Docs: `https://wikid82.github.io/cpmp/docs/index.html` (index) or `https://wikid82.github.io/cpmp/docs/features.html` (specific page)
- Repo files (CONTRIBUTING, LICENSE): `https://github.com/Wikid82/cpmp/blob/main/CONTRIBUTING.md`
- Issues/Discussions: `https://github.com/Wikid82/cpmp/issues` or `https://github.com/Wikid82/cpmp/discussions`
## CI/CD & Commit Conventions
- **Docker Builds**: The `docker-publish` workflow skips builds for commits starting with `chore:`.
- **Triggering Builds**: To ensure a new Docker image is built (e.g., for testing on VPS), use `feat:`, `fix:`, or `perf:` prefixes.

View File

@@ -166,18 +166,18 @@ jobs:
<h2 style="margin-top: 3rem;">📚 Getting Started</h2>
<div class="grid">
<div class="card">
<h3>✨ Features <span class="badge badge-beginner">Overview</span></h3>
<p>See everything CPMP can do - security, monitoring, automation, and more!</p>
<a href="docs/features.html">View All Features →</a>
</div>
<div class="card">
<h3>🏠 Getting Started Guide <span class="badge badge-beginner">Start Here</span></h3>
<p>Your first setup in just 5 minutes! We'll walk you through everything step by step.</p>
<a href="docs/getting-started.html">Read the Guide →</a>
</div>
<div class="card">
<h3>📖 README <span class="badge badge-beginner">Essential</span></h3>
<p>Learn what the app does, how to install it, and see examples of what you can build.</p>
<a href="README.html">Read More →</a>
</div>
<div class="card">
<h3>📥 Import Guide</h3>
<p>Already using Caddy? Learn how to bring your existing configuration into the app.</p>
@@ -185,6 +185,21 @@ jobs:
</div>
</div>
<h2 style="margin-top: 3rem;">🔒 Security</h2>
<div class="grid">
<div class="card">
<h3>🛡️ Security Features</h3>
<p>CrowdSec integration, WAF, geo-blocking, rate limiting, and access control lists.</p>
<a href="docs/security.html">Learn More →</a>
</div>
<div class="card">
<h3>🔐 ACME Staging</h3>
<p>Test SSL certificates without hitting rate limits using Let's Encrypt staging.</p>
<a href="docs/acme-staging.html">View Guide →</a>
</div>
</div>
<h2 style="margin-top: 3rem;">🔧 Developer Documentation</h2>
<div class="grid">
<div class="card">
@@ -199,6 +214,18 @@ jobs:
<a href="docs/database-schema.html">View Schema →</a>
</div>
<div class="card">
<h3>🐛 Debugging Guide <span class="badge badge-advanced">Advanced</span></h3>
<p>Troubleshoot Docker containers, inspect logs, and test Caddy configuration.</p>
<a href="docs/debugging-local-container.html">Debug Issues →</a>
</div>
<div class="card">
<h3>⚙️ GitHub Setup <span class="badge badge-advanced">Advanced</span></h3>
<p>Set up CI/CD workflows, Docker builds, and documentation deployment.</p>
<a href="docs/github-setup.html">View Setup →</a>
</div>
<div class="card">
<h3>✨ Contributing Guide</h3>
<p>Want to help make this better? Learn how to contribute code, docs, or ideas.</p>
@@ -220,15 +247,15 @@ jobs:
Stuck? Have questions? We're here to help!
</p>
<div style="display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1rem;">
<a href="https://github.com/Wikid82/CaddyProxyManagerPlus/discussions"
<a href="https://github.com/Wikid82/cpmp/discussions"
style="background: white; color: #1e40af; padding: 0.5rem 1rem; border-radius: 6px; text-decoration: none;">
💬 Ask a Question
</a>
<a href="https://github.com/Wikid82/CaddyProxyManagerPlus/issues"
<a href="https://github.com/Wikid82/cpmp/issues"
style="background: white; color: #1e40af; padding: 0.5rem 1rem; border-radius: 6px; text-decoration: none;">
🐛 Report a Bug
</a>
<a href="https://github.com/Wikid82/CaddyProxyManagerPlus"
<a href="https://github.com/Wikid82/cpmp"
style="background: white; color: #1e40af; padding: 0.5rem 1rem; border-radius: 6px; text-decoration: none;">
⭐ View on GitHub
</a>

441
README.md
View File

@@ -1,420 +1,75 @@
# Caddy Proxy Manager+ (CPMP)
<p align="center">
<img src="frontend/public/banner.png" alt="Caddy Proxy Manager+" width="600">
</p>
**Make your websites easy to reach!** 🚀
<h1 align="center">Caddy Proxy Manager+</h1>
This app helps you manage multiple websites and apps from one simple dashboard. Think of it like a **traffic director** for your internet services - it makes sure people get to the right place when they visit your websites.
<p align="center">
<strong>The friendly way to manage your reverse proxy</strong><br>
Point, click, done. No config files needed.
</p>
**No coding required!** Just point, click, and you're done. ✨
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Go Version](https://img.shields.io/badge/Go-1.24+-00ADD8?logo=go)](https://go.dev/)
[![React Version](https://img.shields.io/badge/React-18.3-61DAFB?logo=react)](https://react.dev/)
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
<a href="https://github.com/Wikid82/cpmp/releases"><img src="https://img.shields.io/github/v/release/Wikid82/cpmp?include_prereleases" alt="Release"></a>
<a href="https://github.com/Wikid82/cpmp/actions"><img src="https://img.shields.io/github/actions/workflow/status/Wikid82/cpmp/docker-publish.yml" alt="Build Status"></a>
</p>
---
## 🤔 What Does This Do?
## ✨ Top Features
**Simple Explanation:**
Imagine you have 5 different apps running on different computers in your house. Instead of remembering 5 complicated addresses, you can use one simple address like `myapps.com`, and this tool figures out where to send people based on what they're looking for.
| Feature | Description |
|---------|-------------|
| 🎨 **Beautiful Dark UI** | Modern interface that's easy on the eyes, works on any device |
| 🔐 **Automatic HTTPS** | Free SSL certificates from Let's Encrypt, auto-renewed |
| 🛡️ **Built-in Security** | CrowdSec integration, geo-blocking, IP access lists |
| 📊 **Uptime Monitoring** | Know when your services go down with smart notifications |
| 🐳 **Docker Discovery** | Auto-detect containers on local and remote Docker hosts |
| 📥 **Easy Import** | Bring your existing Caddy or NPM configs with one click |
| 💾 **Backup & Restore** | Never lose your settings, export anytime |
| 🔍 **Health Checks** | Test connections before saving |
| 🌐 **WebSocket Support** | Perfect for real-time apps and chat services |
| ⚡ **Zero Downtime** | Hot-reload configuration without restarts |
**Real-World Example:**
- Someone types: `blog.mysite.com` → Goes to your blog server
- Someone types: `shop.mysite.com` → Goes to your online shop server
- All managed from one beautiful dashboard!
**[See all features →](https://wikid82.github.io/cpmp/docs/features.html)**
---
## ✨ What Can It Do?
- **🎨 Beautiful Dark Interface** - Easy on the eyes, works on phones and computers
- **🔄 Manage Multiple Websites** - Add, edit, or remove websites with a few clicks
- **🖥️ Connect Different Servers** - Works with servers anywhere (your closet, the cloud, anywhere!)
- **📥 Import Old Settings** - Already using Caddy? Bring your old setup right in
- **🔍 Test Before You Save** - Check if servers are reachable before going live
- **💾 Saves Everything Safely** - Your settings are stored securely
- **🔐 Secure Your Sites** - Add that green lock icon (HTTPS) to your websites
- **🌐 Works with Live Updates** - Perfect for chat apps and real-time features
---
## 📋 Quick Links
- 🏠 [**Start Here**](docs/getting-started.md) - Your first setup in 5 minutes
- 📚 [**All Documentation**](docs/index.md) - Find everything you need
- 📥 [**Import Guide**](docs/import-guide.md) - Bring in your existing setup
- 🐛 [**Report Problems**](https://github.com/Wikid82/CaddyProxyManagerPlus/issues) - We'll help!
---
## 🚀 The Super Easy Way to Start
**Want to skip all the technical stuff?** Use Docker! (It's like a magic app installer)
### Step 1: Get Docker
Don't have Docker? [Download it here](https://docs.docker.com/get-docker/) - it's free!
### Step 2: Run One Command
Open your terminal and paste this:
## 🚀 Quick Start
```bash
# Clone the repository
git clone https://github.com/Wikid82/CaddyProxyManagerPlus.git
cd CaddyProxyManagerPlus
# Start the stack
docker-compose up -d
# Clone and start
git clone https://github.com/Wikid82/cpmp.git
cd cpmp
docker compose up -d
```
### Step 3: Open Your Browser
Go to: **http://localhost:8080**
Open **http://localhost:8080** — that's it! 🎉
**That's it!** 🎉 You're ready to start adding your websites!
> 💡 **Tip:** Not sure what a terminal is? On Windows, search for "Command Prompt". On Mac, search for "Terminal".
For more details, check out the [Docker Deployment Guide](DOCKER.md).
### 🔌 Connecting to Remote Servers (Optional)
**Want to see containers on OTHER servers?**
If you have apps running on a different computer (like a Raspberry Pi or a VPS) and want CPMP to see them automatically:
1. **Copy** the `docker-compose.remote.yml` file to that *other* computer.
2. **Run it** there: `docker compose -f docker-compose.remote.yml up -d`
3. **Connect** in CPMP:
* Go to "Add Proxy Host"
* Click "Remote Docker?"
* Type the address: `tcp://<IP-OF-OTHER-COMPUTER>:2375`
**⚠️ IMPORTANT SECURITY WARNING:**
Think of this like leaving your front door unlocked. **ONLY** do this if your computers are connected via a secure VPN (like **Tailscale** or **WireGuard**) or are on a private home network that strangers can't access. Never do this on a public server without a VPN!
**[Full documentation →](https://wikid82.github.io/cpmp/docs/index.html)**
---
## 🛠️ The Developer Way (If You Like Code)
## 💬 Community
Want to tinker with the app or help make it better? Here's how:
- 🐛 **Found a bug?** [Open an issue](https://github.com/Wikid82/cpmp/issues)
- 💡 **Have an idea?** [Start a discussion](https://github.com/Wikid82/cpmp/discussions)
- 📋 **Roadmap** [View the project board](https://github.com/users/Wikid82/projects/7)
-### What You Need First:
- **Go 1.24+** - [Get it here](https://go.dev/dl/) (the "engine" that runs the app)
- **Node.js 20+** - [Get it here](https://nodejs.org/) (helps build the pretty interface)
## 🤝 Contributing
### Getting It Running:
1. **Download the app**
```bash
git clone https://github.com/Wikid82/CaddyProxyManagerPlus.git
cd CaddyProxyManagerPlus
```
2. **Start the "brain" (backend)**
```bash
cd backend
go mod download # Gets the tools it needs
go run ./cmd/seed/main.go # Adds example data
go run ./cmd/api/main.go # Starts the engine
```
3. **Start the "face" (frontend)** - Open a NEW terminal window
```bash
cd frontend
npm install # Gets the tools it needs
npm run dev # Shows you the interface
```
4. **See it work!**
- Main app: http://localhost:3001
- Backend: http://localhost:8080
### Quick Docker Way (Developers Too!)
```bash
docker-compose up -d
```
Opens at http://localhost:3001
---
## 🏗️ How It's Built (For Curious Minds)
**Don't worry if these words sound fancy - you don't need to know them to use the app!**
### The "Backend" (The Smart Part)
- **Go** - A fast programming language (like the app's brain)
- **Gin** - Helps handle web requests quickly
- **SQLite** - A tiny database (like a filing cabinet for your settings)
### The "Frontend" (The Pretty Part)
- **React** - Makes the buttons and forms look nice
- **TypeScript** - Keeps the code organized
- **TailwindCSS** - Makes everything pretty with dark mode
### Where Things Live
```
CaddyProxyManagerPlus/
├── backend/ ← The "brain" (handles your requests)
│ ├── cmd/ ← Starter programs
│ ├── internal/ ← The actual code
│ └── data/ ← Where your settings are saved
├── frontend/ ← The "face" (what you see and click)
│ ├── src/ ← The code for buttons and pages
│ └── coverage/ ← Test results (proves it works!)
└── docs/ ← Help guides (including this one!)
```
---
## ⚙️ Making Changes to the App (For Developers)
Want to add your own features or fix bugs? Here's how to work on the code:
### Working on the Backend (The Brain)
1. **Get the tools it needs**
```bash
cd backend
go mod download
```
2. **Set up the database** (adds example data to play with)
```bash
go run ./cmd/seed/main.go
```
3. **Make sure it works** (runs tests)
```bash
go test ./... -v
```
4. **Start it up**
```bash
go run ./cmd/api/main.go
```
Now the backend is running at `http://localhost:8080`
### Working on the Frontend (The Face)
1. **Get the tools it needs**
```bash
cd frontend
npm install
```
2. **Make sure it works** (runs tests)
```bash
npm test # Keeps checking as you code
npm run test:ui # Pretty visual test results
npm run test:coverage # Shows what's tested
```
3. **Start it up**
```bash
npm run dev
```
Now the frontend is running at `http://localhost:3001`
### Custom Settings (Optional)
Want to change ports or locations? Create these files:
**Backend Settings** (`backend/.env`):
```env
PORT=8080 # Where the backend listens
DATABASE_PATH=./data/cpm.db # Where to save data
LOG_LEVEL=debug # How much detail to show
```
**Frontend Settings** (`frontend/.env`):
```env
VITE_API_URL=http://localhost:8080 # Where to find the backend
```
---
## 📡 Controlling the App with Code (For Developers)
Want to automate things or build your own tools? The app has an API (a way for programs to talk to it).
**What's an API?** Think of it like a robot that can do things for you. You send it commands, and it does the work!
### Things the API Can Do:
#### Check if it's alive
```http
GET /api/v1/health
```
Like saying "Hey, are you there?"
#### Manage Your Websites
```http
GET /api/v1/proxy-hosts # Show me all websites
POST /api/v1/proxy-hosts # Add a new website
GET /api/v1/proxy-hosts/:uuid # Show me one website
PUT /api/v1/proxy-hosts/:uuid # Change a website
DELETE /api/v1/proxy-hosts/:uuid # Remove a website
```
#### Manage Your Servers
```http
GET /api/v1/remote-servers # Show me all servers
POST /api/v1/remote-servers # Add a new server
GET /api/v1/remote-servers/:uuid # Show me one server
PUT /api/v1/remote-servers/:uuid # Change a server
DELETE /api/v1/remote-servers/:uuid # Remove a server
POST /api/v1/remote-servers/:uuid/test # Is this server reachable?
```
#### Import Old Files
```http
GET /api/v1/import/status # How's the import going?
GET /api/v1/import/preview # Show me what will import
POST /api/v1/import/upload # Start importing a file
POST /api/v1/import/commit # Finish the import
DELETE /api/v1/import/cancel # Cancel the import
```
**Want more details and examples?** Check out the [complete API guide](docs/api.md)!
---
## 🧪 Making Sure It Works (Testing)
**What's testing?** It's like double-checking your homework. We run automatic checks to make sure everything works before releasing updates!
### Checking the Backend
```bash
cd backend
go test ./... -v # Check everything
go test ./internal/api/handlers/... # Just check specific parts
go test -cover ./... # Check and show what's covered
```
**Results**: ✅ 6 tests passing (all working!)
### Checking the Frontend
```bash
cd frontend
npm test # Keep checking as you work
npm run test:coverage # Show me what's tested
npm run test:ui # Pretty visual results
```
**Results**: ✅ 24 tests passing (~70% of code checked)
- Layout: 100% ✅ (fully tested)
- Import Table: 90% ✅ (almost fully tested)
- Forms: ~60% ✅ (mostly tested)
**What does this mean for you?** The app is reliable! We've tested it thoroughly so you don't have to worry.
---
## 🗄️ Where Your Settings Are Saved
**What's a database?** Think of it as a super organized filing cabinet where the app remembers all your settings!
The app saves:
- **Your Websites** - All the sites you've set up
- **Your Servers** - The computers you've connected
- **Your Caddy Files** - Original configuration files (if you imported any)
- **Security Stuff** - SSL certificates and who can access what
- **App Settings** - Your preferences and customizations
- **Import History** - What you've imported and when
**Want the technical details?** Check out the [database guide](docs/database-schema.md).
**Good news**: It's all saved in one tiny file, and you can back it up easily!
---
## 📥 Bringing In Your Old Caddy Files
Already using Caddy and have configuration files? No problem! You can import them:
**Super Simple Steps:**
1. **Click "Import"** in the app
2. **Upload your file** (or just paste the text)
3. **Look at what it found** - the app shows you what it understood
4. **Fix any conflicts** - if something already exists, choose what to do
5. **Click "Import"** - done!
**It's drag-and-drop easy!** The app figures out what everything means.
**Need help?** Read the [step-by-step import guide](docs/import-guide.md) with pictures and examples!
---
## 🔗 Helpful Links
- **📋 What We're Working On**: https://github.com/users/Wikid82/projects/7
- **🐛 Found a Problem?**: https://github.com/Wikid82/CaddyProxyManagerPlus/issues
- **💬 Questions?**: https://github.com/Wikid82/CaddyProxyManagerPlus/discussions
---
## 🤝 Want to Help Make This Better?
**We'd love your help!** Whether you can code or not, you can contribute:
**Ways You Can Help:**
- 🐛 Report bugs (things that don't work)
- 💡 Suggest new features (ideas for improvements)
- 📝 Improve documentation (make guides clearer)
- 🔧 Fix issues (if you know how to code)
- ⭐ Star the project (shows you like it!)
**If You Want to Add Code:**
1. **Make your own copy** (click "Fork" on GitHub)
2. **Make your changes** in a new branch
3. **Test your changes** to make sure nothing breaks
4. **Send us your changes** (create a "Pull Request")
**Don't worry if you're new!** We'll help you through the process. Check out our [Contributing Guide](CONTRIBUTING.md) for details.
---
## 📄 Legal Stuff (License)
This project is **free to use**! It's under the MIT License, which basically means:
- ✅ You can use it for free
- ✅ You can change it
- ✅ You can use it for your business
- ✅ You can share it
See the [LICENSE](LICENSE) file for the formal details.
---
## 🙏 Special Thanks
- Inspired by [Nginx Proxy Manager](https://nginxproxymanager.com/) (similar tool, different approach)
- Built with [Caddy Server](https://caddyserver.com/) (the power behind the scenes)
- Made beautiful with [TailwindCSS](https://tailwindcss.com/) (the styling magic)
---
## 💬 Questions?
**Stuck?** Don't be shy!
- 📖 Check the [documentation](docs/index.md)
- 💬 Ask in [Discussions](https://github.com/Wikid82/CaddyProxyManagerPlus/discussions)
- 🐛 Open an [Issue](https://github.com/Wikid82/CaddyProxyManagerPlus/issues) if something's broken
**We're here to help!** Everyone was a beginner once. 🌟
We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) to get started.
---
<p align="center">
<strong>Version 0.1.0</strong><br>
<em>Built with ❤️ by <a href="https://github.com/Wikid82">@Wikid82</a></em><br>
<em>Made for humans, not just techies!</em>
<a href="LICENSE"><strong>MIT License</strong></a> ·
<a href="https://wikid82.github.io/cpmp/docs/index.html"><strong>Documentation</strong></a> ·
<a href="https://github.com/Wikid82/cpmp/releases"><strong>Releases</strong></a>
</p>
<p align="center">
<em>Built with ❤️ by <a href="https://github.com/Wikid82">@Wikid82</a></em><br>
<sub>Powered by <a href="https://caddyserver.com/">Caddy Server</a> · Inspired by <a href="https://nginxproxymanager.com/">Nginx Proxy Manager</a></sub>
</p>

171
docs/features.md Normal file
View File

@@ -0,0 +1,171 @@
# ✨ Features
Caddy Proxy Manager+ (CPMP) is packed with features to make managing your web services simple and secure. Here's everything you can do:
---
## 🔒 Security
### CrowdSec Integration
Block malicious IPs automatically using community-driven threat intelligence. CrowdSec analyzes your logs and blocks attackers before they can cause harm.
→ [Learn more about CrowdSec](https://www.crowdsec.net/)
### Web Application Firewall (WAF)
Protect your applications from common web attacks like SQL injection and cross-site scripting using Coraza WAF, an enterprise-grade firewall built into Caddy.
→ [Learn more about Coraza WAF](https://coraza.io/)
### Access Control Lists (ACLs)
Control who can access your services with IP whitelists, blacklists, and geo-blocking. Block entire countries or allow only specific networks.
→ [ACL Documentation](security.md#access-control-lists)
### Rate Limiting
Prevent abuse by limiting how many requests a single IP can make. Protect against brute force attacks and API abuse.
→ [Rate Limiting Setup](security.md#rate-limiting)
### Automatic HTTPS
Every site gets a free SSL certificate automatically. No configuration needed—just add your domain and it's secure.
→ [SSL/TLS Configuration](security.md#ssltls-certificates)
---
## 📊 Monitoring
### Built-in Uptime Monitor
Know instantly when your services go down. Get notifications via Discord, Slack, email, or webhooks when something isn't responding.
→ [Uptime Monitoring Guide](uptime.html) *(coming soon)*
### Real-time Health Dashboard
See the status of all your services at a glance. View response times, uptime history, and current availability from one dashboard.
### Smart Notifications
Get notified only when it matters. Notifications are grouped by server so you don't get spammed when a whole host goes down.
---
## 🖥️ Proxy Management
### Visual Proxy Configuration
Add and manage reverse proxies without touching configuration files. Point-and-click simplicity with full power under the hood.
### Multi-Domain Support
Host unlimited domains from a single server. Each domain can point to a different backend service.
### WebSocket Support
Real-time apps like chat, gaming, and live updates work out of the box. WebSocket connections are automatically upgraded.
### Load Balancing
Distribute traffic across multiple backend servers. Keep your services fast and reliable even under heavy load.
### Custom Headers
Add, modify, or remove HTTP headers as traffic passes through. Perfect for CORS, security headers, or custom routing logic.
---
## 🐳 Docker Integration
### Container Discovery
See all Docker containers running on your servers. One click to create a proxy for any container.
### Remote Docker Support
Manage containers on other servers through secure connections. Perfect for multi-server setups with Tailscale or WireGuard VPNs.
→ [Remote Docker Setup](getting-started.md#remote-docker)
### Automatic Port Detection
CPMP reads container labels and exposed ports automatically. Less typing, fewer mistakes.
---
## 📥 Import & Migration
### Caddyfile Import
Already using Caddy? Import your existing Caddyfile and CPMP will create proxies for each site automatically.
→ [Import Guide](import-guide.html)
### NPM Migration *(coming soon)*
Migrating from Nginx Proxy Manager? We'll import your configuration so you don't start from scratch.
### Conflict Resolution
When imports find existing entries, you choose what to do—keep existing, overwrite, or merge configurations.
---
## 💾 Backup & Restore
### Automatic Backups
Your configuration is automatically backed up before destructive operations like deletes.
### One-Click Restore
Something go wrong? Restore any previous configuration with a single click.
### Export Configuration
Download your entire configuration for safekeeping or migration to another server.
---
## 🎨 User Experience
### Dark Mode Interface
Easy on the eyes during late-night troubleshooting. The modern dark interface looks great on any device.
### Mobile Responsive
Manage your proxies from your phone or tablet. The interface adapts to any screen size.
### Bulk Operations
Select multiple items and perform actions on all of them at once. Delete, enable, or disable in bulk.
### Search & Filter
Find what you're looking for quickly. Filter by status, search by name, or sort by any column.
---
## 🔌 API & Automation
### RESTful API
Automate everything through a complete REST API. Create proxies, manage certificates, and monitor uptime programmatically.
→ [API Documentation](api.html)
### Webhook Notifications
Send events to any system that accepts webhooks. Integrate with your existing monitoring and automation tools.
---
## 🛡️ Enterprise Features
### Multi-User Support *(coming soon)*
Add team members with different permission levels. Admins, editors, and viewers.
### Audit Logging *(coming soon)*
Track who changed what and when. Full history of all configuration changes.
### SSO Integration *(coming soon)*
Sign in with your existing identity provider. Support for OAuth, SAML, and OIDC.
---
## 🚀 Performance
### Caddy-Powered
Built on Caddy, one of the fastest and most memory-efficient web servers available.
### Minimal Resource Usage
Runs happily on a Raspberry Pi. Low CPU and memory footprint.
### Instant Configuration Reloads
Changes take effect immediately without downtime. Zero-downtime configuration updates.
---
## 📚 Need More Details?
Each feature has detailed documentation:
- [Getting Started](getting-started.html) - Your first proxy in 5 minutes
- [Security Features](security.html) - Deep dive into security options
- [API Reference](api.html) - Complete API documentation
- [Import Guide](import-guide.html) - Migrating from other tools
---
<p align="center">
<em>Missing a feature? <a href="https://github.com/Wikid82/cpmp/discussions">Let us know!</a></em>
</p>

View File

@@ -161,7 +161,7 @@ It's a **text file that tells Caddy how to route traffic**. If you're not sure i
Done! Your existing setup is now in the app.
> **Need more help?** Check the detailed [Import Guide](import-guide.md)
> **Need more help?** Check the detailed [Import Guide](import-guide.html)
---
@@ -265,9 +265,9 @@ You now know the basics! Here's what to explore:
We're here for you!
- 💬 [Ask on GitHub Discussions](https://github.com/Wikid82/CaddyProxyManagerPlus/discussions)
- 🐛 [Report a Bug](https://github.com/Wikid82/CaddyProxyManagerPlus/issues)
- 📖 [Read the Full Documentation](index.md)
- 💬 [Ask on GitHub Discussions](https://github.com/Wikid82/cpmp/discussions)
- 🐛 [Report a Bug](https://github.com/Wikid82/cpmp/issues)
- 📖 [Read the Full Documentation](index.html)
---

View File

@@ -1,117 +1,55 @@
# 📚 Caddy Proxy Manager Plus - Documentation
# 📚 Documentation
Welcome! 👋 This page will help you find exactly what you need to use Caddy Proxy Manager Plus.
Welcome to the Caddy Proxy Manager Plus documentation!
---
## 🚀 I'm New Here - Where Do I Start?
## 📖 Start Here
Start with the [**README**](../README.md) - it's like the front door of our project! It will show you:
- What this app does (in simple terms!)
- How to install it on your computer
- How to get it running in 5 minutes
**Next Step:** Once you have it running, check out the guides below!
| Guide | Description |
|-------|-------------|
| [✨ Features](features.html) | See everything CPMP can do |
| [🚀 Getting Started](getting-started.html) | Your first proxy in 5 minutes |
| [📥 Import Guide](import-guide.html) | Migrate from Caddy or NPM |
---
## 📖 How-To Guides
## 🔒 Security
### For Everyone
#### [🏠 Getting Started Guide](getting-started.md)
*Coming soon!* - A step-by-step walkthrough of your first proxy setup. We'll hold your hand through the whole process!
#### [📥 Import Your Caddy Files](import-guide.md)
Already have Caddy configuration files? This guide shows you how to bring them into the app so you don't have to start from scratch.
**What you'll learn:**
- How to upload your existing files (it's just drag-and-drop!)
- What to do if the app finds conflicts
- Tips to make importing super smooth
| Guide | Description |
|-------|-------------|
| [Security Features](security.html) | CrowdSec, WAF, ACLs, and rate limiting |
| [ACME Staging](acme-staging.html) | Test SSL certificates without rate limits |
---
### For Developers & Advanced Users
## 🔧 Reference
#### [🔌 API Documentation](api.md)
Want to talk to the app using code? This guide shows all the ways you can send and receive information from the app.
**What you'll learn:**
- All the different commands you can send
- Examples in JavaScript and Python
- What responses to expect
#### [💾 Database Guide](database-schema.md)
Curious about how the app stores your information? This guide explains the database structure.
**What you'll learn:**
- What information we save
- How everything connects together
- Tips for backing up your data
| Guide | Description |
|-------|-------------|
| [API Documentation](api.html) | REST API endpoints and examples |
| [Database Schema](database-schema.html) | How data is stored |
---
## 🤝 Want to Help Make This Better?
## 🛠️ Development
#### [✨ Contributing Guide](../CONTRIBUTING.md)
We'd love your help! This guide shows you how to:
- Report bugs (things that don't work right)
- Suggest new features
- Submit code improvements
- Follow our project rules
| Guide | Description |
|-------|-------------|
| [Contributing](https://github.com/Wikid82/cpmp/blob/main/CONTRIBUTING.md) | How to help improve CPMP |
| [Debugging Guide](debugging-local-container.html) | Troubleshooting containers |
| [GitHub Setup](github-setup.html) | CI/CD and deployment |
---
## 🆘 Need Help?
## 🆘 Getting Help
### Quick Troubleshooting
**Can't get it to run?**
- Check the [Installation section in README](../README.md#-installation)
- Make sure Docker is installed and running
- Try the quick start commands exactly as written
**Having import problems?**
- See the [Import Guide troubleshooting section](import-guide.md#troubleshooting)
- Check your Caddy file is valid
- Look at the example files in the guide
**Found a bug?**
- [Open an issue on GitHub](https://github.com/Wikid82/CaddyProxyManagerPlus/issues)
- Tell us what you were trying to do
- Share any error messages you see
---
## 📚 All Documentation Files
### User Documentation
- [📖 README](../README.md) - Start here!
- [📥 Import Guide](import-guide.md) - Bring in existing configs
- [🏠 Getting Started](getting-started.md) - *Coming soon!*
### Developer Documentation
- [🔌 API Reference](api.md) - REST API endpoints
- [💾 Database Schema](database-schema.md) - How data is stored
- [✨ Contributing](../CONTRIBUTING.md) - Help make this better
- [🔧 GitHub Setup](github-setup.md) - Set up Docker builds & docs deployment
### Project Information
- [📄 LICENSE](../LICENSE) - Legal stuff (MIT License)
- [🔖 Changelog](../CHANGELOG.md) - *Coming soon!* - What's new in each version
---
## 💡 Quick Links
- [🏠 Project Home](https://github.com/Wikid82/CaddyProxyManagerPlus)
- [🐛 Report a Bug](https://github.com/Wikid82/CaddyProxyManagerPlus/issues/new)
- [💬 Ask a Question](https://github.com/Wikid82/CaddyProxyManagerPlus/discussions)
- **💬 Questions?** [Start a Discussion](https://github.com/Wikid82/cpmp/discussions)
- **🐛 Found a Bug?** [Open an Issue](https://github.com/Wikid82/cpmp/issues)
- **📋 Roadmap** [Project Board](https://github.com/users/Wikid82/projects/7)
---
<p align="center">
<strong>Made with ❤️ for the community</strong><br>
<em>Questions? Open an issue - we're here to help!</em>
<strong>Made with ❤️ for the community</strong>
</p>