diff --git a/demo/config/archivebox/.gitkeep b/demo/config/archivebox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/atomictracker/.gitkeep b/demo/config/atomictracker/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/atuin/.gitkeep b/demo/config/atuin/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/drawio/.gitkeep b/demo/config/drawio/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/grafana/dashboards/docker-overview.json b/demo/config/grafana/dashboards/docker-overview.json new file mode 100644 index 0000000..9ef02c3 --- /dev/null +++ b/demo/config/grafana/dashboards/docker-overview.json @@ -0,0 +1,229 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Docker container resource monitoring via InfluxDB", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "red", "value": 80 } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, + "id": 1, + "options": { + "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, + "tooltip": { "mode": "single", "sort": "none" } + }, + "targets": [ + { + "datasource": "InfluxDB", + "query": "from(bucket: \"demo_metrics\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"docker_container_cpu\")\n |> filter(fn: (r) => r._field == \"usage_percent\")", + "refId": "A" + } + ], + "title": "Container CPU Usage", + "type": "timeseries" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "color": { "mode": "palette-classic" }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { "legend": false, "tooltip": false, "viz": false }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { "type": "linear" }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { "group": "A", "mode": "none" }, + "thresholdsStyle": { "mode": "off" } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "red", "value": 80 } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, + "id": 2, + "options": { + "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, + "tooltip": { "mode": "single", "sort": "none" } + }, + "targets": [ + { + "datasource": "InfluxDB", + "query": "from(bucket: \"demo_metrics\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"docker_container_mem\")\n |> filter(fn: (r) => r._field == \"usage\")", + "refId": "A" + } + ], + "title": "Container Memory Usage", + "type": "timeseries" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 10 }, + { "color": "red", "value": 14 } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { "h": 4, "w": 6, "x": 0, "y": 8 }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": "InfluxDB", + "query": "from(bucket: \"demo_metrics\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"docker\")\n |> filter(fn: (r) => r._field == \"containers_running\")\n |> last()", + "refId": "A" + } + ], + "title": "Running Containers", + "type": "stat" + }, + { + "datasource": "InfluxDB", + "fieldConfig": { + "defaults": { + "color": { "mode": "thresholds" }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 15 }, + { "color": "red", "value": 20 } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { "h": 4, "w": 6, "x": 6, "y": 8 }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": "InfluxDB", + "query": "from(bucket: \"demo_metrics\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"docker\")\n |> filter(fn: (r) => r._field == \"images\")\n |> last()", + "refId": "A" + } + ], + "title": "Docker Images", + "type": "stat" + } + ], + "refresh": "30s", + "schemaVersion": 38, + "style": "dark", + "tags": ["docker", "infrastructure"], + "templating": { "list": [] }, + "time": { "from": "now-1h", "to": "now" }, + "timepicker": {}, + "timezone": "utc", + "title": "Docker Infrastructure Overview", + "uid": "docker-overview", + "version": 1 +} diff --git a/demo/config/influxdb/.gitkeep b/demo/config/influxdb/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/kroki/.gitkeep b/demo/config/kroki/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/mailhog/.gitkeep b/demo/config/mailhog/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/pihole/.gitkeep b/demo/config/pihole/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/tubearchivist/.gitkeep b/demo/config/tubearchivist/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/demo/config/wakapi/.gitkeep b/demo/config/wakapi/.gitkeep new file mode 100644 index 0000000..e69de29