diff --git a/blueprints/dokploy-prom-monitoring-extension/docker-compose.yml b/blueprints/dokploy-prom-monitoring-extension/docker-compose.yml new file mode 100644 index 00000000..1fd3e03d --- /dev/null +++ b/blueprints/dokploy-prom-monitoring-extension/docker-compose.yml @@ -0,0 +1,11 @@ +services: + dokploy-monitoring: + image: dokploy/monitoring:canary + restart: unless-stopped + env_file: + - .env + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + - monitoring-data:/app/data +volumes: + monitoring-data: {} diff --git a/blueprints/dokploy-prom-monitoring-extension/logo.svg b/blueprints/dokploy-prom-monitoring-extension/logo.svg new file mode 100644 index 00000000..5c6a02e4 --- /dev/null +++ b/blueprints/dokploy-prom-monitoring-extension/logo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/blueprints/dokploy-prom-monitoring-extension/template.toml b/blueprints/dokploy-prom-monitoring-extension/template.toml new file mode 100644 index 00000000..bd0c07b5 --- /dev/null +++ b/blueprints/dokploy-prom-monitoring-extension/template.toml @@ -0,0 +1,17 @@ +[variables] +main_domain = "${domain}" +monitoring_token = "${password:32}" +callback_url = "http://dokploy:3000/api/trpc/notification.receiveNotification" +server_type = "Dokploy" +refresh_rate = "30" +retention_days = "7" +cpu_threshold = "80" +memory_threshold = "85" + +[[config.domains]] +serviceName = "dokploy-monitoring" +port = 3001 +host = "${main_domain}" + +[config.env] +METRICS_CONFIG = "{\"server\":{\"refreshRate\":${refresh_rate},\"port\":3001,\"type\":\"${server_type}\",\"token\":\"${monitoring_token}\",\"urlCallback\":\"${callback_url}\",\"retentionDays\":${retention_days},\"cronJob\":\"0 0 * * *\",\"thresholds\":{\"cpu\":${cpu_threshold},\"memory\":${memory_threshold}},\"prometheus\":{\"enabled\":true}},\"containers\":{\"refreshRate\":${refresh_rate},\"services\":{\"include\":[],\"exclude\":[]}}}" diff --git a/meta.json b/meta.json index 6dbc14d9..10956c5e 100644 --- a/meta.json +++ b/meta.json @@ -1830,6 +1830,26 @@ "document-signing" ] }, + { + "id": "dokploy-prom-monitoring-extension", + "name": "Dokploy Prometheus Monitoring Extension", + "version": "canary", + "description": "Dokploy monitoring extension with Prometheus metrics export for external monitoring systems like Grafana Cloud. Tracks server and container metrics with configurable thresholds and alerting.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/Dokploy/dokploy", + "website": "https://dokploy.com/", + "docs": "https://docs.dokploy.com/" + }, + "tags": [ + "monitoring", + "prometheus", + "metrics", + "observability", + "docker", + "grafana" + ] + }, { "id": "domain-locker", "name": "Domain Locker",