From 6217874cb0ad081563ca388a78388b9317cfe487 Mon Sep 17 00:00:00 2001 From: pika Date: Sun, 30 Mar 2025 14:01:24 +0200 Subject: [PATCH] readme changes --- .env.example | 5 +- README.md | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 157 insertions(+), 4 deletions(-) diff --git a/.env.example b/.env.example index b0427d5..80b6204 100644 --- a/.env.example +++ b/.env.example @@ -3,11 +3,12 @@ API_KEY=your_secure_random_key_here # Server mode configurations DEBUG_MODE=false + DASHBOARD_URL=https://dashboard.example.com/api/update +VERIFY_SSL=false # Set to false to disable SSL certificate verification (insecure but useful for testing) -> make it true if using proper https://domain.com/api/update mappings # or DASHBOARD_URL=http://caddydb-server:5000/api/update # Agent mode configurations # only if you want to change the internal path of the Caddyfile -# SERVER_NAME=my-caddy-server # Optional - defaults to hostname +# SERVER_NAME=my-caddy-server # Optional - defaults to hostname (which would be the docker-container host name..) CHECK_INTERVAL=60 # Seconds between checks -VERIFY_SSL=true # Set to false to disable SSL certificate verification (insecure but useful for testing) \ No newline at end of file diff --git a/README.md b/README.md index 687b087..856d1eb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,155 @@ -# Caddy-DashBoard +# 🚀 CaddyDB - Modern Web Server Dashboard -This is my own little project, to write a dashboard for caddy (and maybe later on nginx and traefik..) subdomains to display all at one spot. +
+ Caddy 2.7+ + Nginx Compatible + Python 3.9+ + Docker Ready +
+ +
+

A sleek, minimalist dashboard for monitoring and managing your Caddy and Nginx web servers.

+

Visualize all your domains in one place with a beautiful dark-themed interface.

+
+ +
+ +![CaddyDB Dashboard Screenshot](https://i.imgur.com/placeholder-image.png) + +## ✨ Features + +- **🖥️ Multi-Server Support**: Monitor both Caddy and Nginx servers across your infrastructure +- **🔄 Real-Time Updates**: Automatically detects configuration changes +- **🔍 Instant Search**: Quickly filter domains with keyboard shortcuts +- **📊 Visual Statistics**: At-a-glance metrics for all your servers +- **🌙 Dark Mode**: Easy on the eyes with a modern minimalist UI +- **🔒 Secure**: Token-based authentication between servers and agents +- **🐳 Docker Ready**: Easy deployment with Docker Compose + +## 🚀 Getting Started + +### Quick Start with Docker + +#### Server Mode (Dashboard) + +1. **Clone the repository:** + + ```bash + git clone https://github.com/yourusername/caddydb.git + cd caddydb + ``` + +2. **Build the Docker image:** + + ```bash + ./src/build.sh + # Note: You can customize the image name/tag by editing build.sh + ``` + +3. **Configure your environment:** + + ```bash + cp .env.example .env + # Edit .env with your preferred settings + nano .env + ``` + +4. **Start the server:** + + ```bash + docker-compose up -d caddydb-server + ``` + +5. **Access your dashboard at http://localhost:5000** + +#### Agent Mode (Remote Servers) + +1. **Configure agent environment:** + + ```bash + cp .env.example .env.agent + # Edit .env.agent with remote server details + nano .env.agent + ``` + +2. **Start the agent:** + + ```bash + # For Caddy servers + docker-compose --env-file .env.agent up -d caddydb-caddy-agent + + # For Nginx servers + docker-compose --env-file .env.agent up -d caddydb-nginx-agent + ``` + +## 📝 Configuration Options + +### Server Mode + +| Variable | Description | Default | +| ------------- | ----------------------------- | -------------- | +| `API_KEY` | Authentication key for agents | Required | +| `DEBUG_MODE` | Enable debug logging | `false` | +| `SERVER_NAME` | Name for the local server | `Local Server` | + +### Agent Mode + +| Variable | Description | Default | +| ---------------- | ------------------------------------ | --------------------------------------- | +| `API_KEY` | Same key as configured on server | Required | +| `DASHBOARD_URL` | URL to the dashboard API | `http://caddydb-server:5000/api/update` | +| `SERVER_NAME` | How this server appears in dashboard | Host name | +| `SERVER_TYPE` | Type of server (`caddy` or `nginx`) | `caddy` | +| `CHECK_INTERVAL` | Seconds between updates | `60` | +| `VERIFY_SSL` | Verify SSL certificates | `true` | + +## 🔧 Advanced Usage + +### Multiple Server Monitoring + +You can monitor multiple Caddy and Nginx servers by running the agent on each server: + +```yaml +# Remote server docker-compose.yml +services: + caddydb-agent: + image: caddydb:latest + volumes: + - /etc/caddy/Caddyfile:/app/Caddyfile:ro # Mount your actual Caddyfile + environment: + - API_KEY=your_shared_secret_key + - DASHBOARD_URL=https://your-dashboard-server.com/api/update + - SERVER_NAME=Production Caddy + - SERVER_TYPE=caddy + command: agent + restart: unless-stopped +``` + +### Local Configuration + +If you're running CaddyDB on the same server as your Caddy/Nginx instance, simply mount your config files: + +```yaml +volumes: + - /etc/caddy/Caddyfile:/app/Caddyfile:ro + - /etc/nginx/conf.d:/app/nginx:ro +``` + +## 🤝 Contributing + +Contributions are welcome! Feel free to open issues or submit pull requests. + +## 📜 License + +This project is licensed under the MIT License - see the LICENSE file for details. + +## 🙏 Acknowledgements + +- Built with Flask and Tailwind CSS +- Inspired by modern dashboard design principles + +--- + +
+

Made with ❤️ for web server administrators

+