diff --git a/blueprints/prometheus/Prometheus.svg b/blueprints/prometheus/Prometheus.svg new file mode 100644 index 00000000..18beef52 --- /dev/null +++ b/blueprints/prometheus/Prometheus.svg @@ -0,0 +1 @@ + diff --git a/blueprints/prometheus/docker-compose.yml b/blueprints/prometheus/docker-compose.yml new file mode 100644 index 00000000..e1016777 --- /dev/null +++ b/blueprints/prometheus/docker-compose.yml @@ -0,0 +1,14 @@ +services: + prometheus: + image: prom/prometheus:latest + restart: unless-stopped + command: + - "--config.file=/etc/prometheus/prometheus.yml" + - "--storage.tsdb.path=/prometheus" + - "--web.console.libraries=/usr/share/prometheus/console_libraries" + - "--web.console.templates=/usr/share/prometheus/consoles" + - "--web.enable-lifecycle" + volumes: + - prometheus-data:/prometheus +volumes: + prometheus-data: {} diff --git a/blueprints/prometheus/template.toml b/blueprints/prometheus/template.toml new file mode 100644 index 00000000..535663dc --- /dev/null +++ b/blueprints/prometheus/template.toml @@ -0,0 +1,52 @@ +[variables] +main_domain = "${domain}" + +[config] +env = [] + +[[config.domains]] +serviceName = "prometheus" +port = 9_090 +host = "${main_domain}" + +[[config.mounts]] +filePath = "/etc/prometheus/prometheus.yml" +serviceName = "prometheus" +content = """ +# Prometheus Configuration +# https://prometheus.io/docs/prometheus/latest/configuration/configuration/ + +global: + scrape_interval: 15s + evaluation_interval: 15s + external_labels: + monitor: 'dokploy-prometheus' + +# Alertmanager configuration (optional) +# alerting: +# alertmanagers: +# - static_configs: +# - targets: +# - 'alertmanager:9093' + +# Load rules once and periodically evaluate them +# rule_files: +# - "alerts.yml" + +# Scrape configurations +scrape_configs: + # Prometheus self-monitoring + - job_name: 'prometheus' + static_configs: + - targets: ['localhost:9090'] + + # Example: Add your own targets here + # - job_name: 'node_exporter' + # static_configs: + # - targets: ['node-exporter:9100'] + + # - job_name: 'docker' + # static_configs: + # - targets: ['docker-host:9323'] +""" + diff --git a/meta.json b/meta.json index 058fa3e4..513b260c 100644 --- a/meta.json +++ b/meta.json @@ -4431,6 +4431,23 @@ ], "dokploy_version": "<0.22.5" }, + { + "id": "prometheus", + "name": "Prometheus", + "version": "latest", + "description": "Prometheus is an open-source monitoring and alerting toolkit designed for reliability and scalability.", + "logo": "Prometheus.svg", + "links": { + "github": "https://github.com/prometheus/prometheus", + "website": "https://prometheus.io/", + "docs": "https://prometheus.io/docs/introduction/overview/" + }, + "tags": [ + "monitoring", + "alerting", + "metrics" + ] + }, { "id": "pterodactyl", "name": "Pterodactyl",