# Uptime Kuma Deployment This repository contains the deployment configuration for **Uptime Kuma**, a self-hosted monitoring tool. It is used to track the availability of various services in this stack and alert on any downtime. ## 🏗️ Architecture Overview * **Service**: Uptime Kuma (Status Page & Monitoring) * **Networking**: Integrated into the `web_traffic` external network for access via your reverse proxy. * **Storage**: Uses a persistent volume to store monitoring history, notification settings, and status page configurations. * **CI/CD**: Automated deployment via Woodpecker CI on every push to the `main` branch. ## 📂 Repository Structure * `docker-compose.yaml`: Configures the service with persistent data mapping to `./uptime-kuma-data`. * `.woodpecker.yaml`: Handles the automated deployment to the `/home/george/uptime-kuma` directory. ## 🚀 Deployment ### Manual Setup Ensure the `web_traffic` network exists before starting: ```bash docker network create web_traffic docker compose up -d ``` ### CI/CD Workflow The Woodpecker pipeline performs the following on every push to main: - Syncs the repository files to the host server. - Triggers a docker compose up -d with --pull always and --force-recreate to ensure you are running the latest version of Uptime Kuma. ## 🔔 Monitoring Capabilities Once deployed, Uptime Kuma is used to monitor: - HTTP(s) Endpoints: Verifying reverse proxy availability. - Docker Containers: Monitoring container status via the Docker socket (if mapped). - Ping/TCP: Checking host and network health. ## 🔒 Security Access to the dashboard is managed via the internal Uptime Kuma auth system. Public status pages can be created within the UI to share service health without requiring a login.