diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 9a11e9ff..5d981a7f 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -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. diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e35d1511..c54f849e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -166,18 +166,18 @@ jobs:

πŸ“š Getting Started

+
+

✨ Features Overview

+

See everything CPMP can do - security, monitoring, automation, and more!

+ View All Features β†’ +
+

🏠 Getting Started Guide Start Here

Your first setup in just 5 minutes! We'll walk you through everything step by step.

Read the Guide β†’
-
-

πŸ“– README Essential

-

Learn what the app does, how to install it, and see examples of what you can build.

- Read More β†’ -
-

πŸ“₯ Import Guide

Already using Caddy? Learn how to bring your existing configuration into the app.

@@ -185,6 +185,21 @@ jobs:
+

πŸ”’ Security

+
+
+

πŸ›‘οΈ Security Features

+

CrowdSec integration, WAF, geo-blocking, rate limiting, and access control lists.

+ Learn More β†’ +
+ +
+

πŸ” ACME Staging

+

Test SSL certificates without hitting rate limits using Let's Encrypt staging.

+ View Guide β†’ +
+
+

πŸ”§ Developer Documentation

@@ -199,6 +214,18 @@ jobs: View Schema β†’
+
+

πŸ› Debugging Guide Advanced

+

Troubleshoot Docker containers, inspect logs, and test Caddy configuration.

+ Debug Issues β†’ +
+ +
+

βš™οΈ GitHub Setup Advanced

+

Set up CI/CD workflows, Docker builds, and documentation deployment.

+ View Setup β†’ +
+

✨ Contributing Guide

Want to help make this better? Learn how to contribute code, docs, or ideas.

@@ -220,15 +247,15 @@ jobs: Stuck? Have questions? We're here to help!

- πŸ’¬ Ask a Question - πŸ› Report a Bug - ⭐ View on GitHub diff --git a/README.md b/README.md index ff35592c..22de5ee7 100644 --- a/README.md +++ b/README.md @@ -1,420 +1,75 @@ -# Caddy Proxy Manager+ (CPMP) +

+ Caddy Proxy Manager+ +

-**Make your websites easy to reach!** πŸš€ +

Caddy Proxy Manager+

-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. +

+ The friendly way to manage your reverse proxy
+ Point, click, done. No config files needed. +

-**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/) +

+ License: MIT + Release + Build Status +

--- -## πŸ€” 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://: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. ---

- Version 0.1.0
- Built with ❀️ by @Wikid82
- Made for humans, not just techies! + MIT License Β· + Documentation Β· + Releases +

+ +

+ Built with ❀️ by @Wikid82
+ Powered by Caddy Server Β· Inspired by Nginx Proxy Manager

diff --git a/docs/features.md b/docs/features.md new file mode 100644 index 00000000..04091583 --- /dev/null +++ b/docs/features.md @@ -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 + +--- + +

+ Missing a feature? Let us know! +

diff --git a/docs/getting-started.md b/docs/getting-started.md index de199500..6ea5c1d8 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -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) --- diff --git a/docs/index.md b/docs/index.md index b9afad21..033112e8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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) ---

- Made with ❀️ for the community
- Questions? Open an issue - we're here to help! + Made with ❀️ for the community