41 lines
1.7 KiB
Markdown
41 lines
1.7 KiB
Markdown
# 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. |