6.3 KiB
Service Catalog
Available services and their configuration options
Generated on: $(date)
This document catalogs all available homelab services, their configuration options, and integration capabilities.
Overview
Total Available Services: 4
Service Integration Matrix
| Service | Monitoring | Logging | Proxy | Auth Default |
|---|---|---|---|---|
gatus |
❌ | ❌ | ❌ | 🌐 |
grafana |
❌ | ❌ | ❌ | 🌐 |
minio |
❌ | ❌ | ❌ | 🌐 |
prometheus |
❌ | ❌ | ❌ | 🌐 |
Legend: ✅ = Enabled by default, ❌ = Available but disabled, 🔒 = Auth required, 🌐 = Public access
Service Reference
gatus
Description: Gatus Status Page
Default Port: 8080
Current Deployments: 0 instance(s) on:
Default Integration Status
| Integration | Status | Default Configuration |
|---|---|---|
| 📊 Monitoring | ❌ Disabled | Available but requires monitoring.enable = true |
| 📝 Logging | ❌ Disabled | Available but requires logging.enable = true |
| 🔀 Proxy | ❌ Disabled | Available but requires proxy.enable = true |
Core Configuration
homelab.services.gatus = {
enable = true;
port = 8080;
description = "Gatus Status Page";
# Default integrations (adjust as needed)
# monitoring.enable = true; # ❌ Disabled by default
# logging.enable = true; # ❌ Disabled by default
# proxy.enable = true; # ❌ Disabled by default
};
Service-Specific Options
Available configuration options for gatus:
homelab.services.gatus = {
# ... core options above ...
# Service-specific configuration
alerting = {};
extraConfig = {};
storage = {"type":"memory"};
ui = {"buttons":[{"link":"https://grafana.procopius.dk","name":"Grafana"},{"link":"https://prometheus.procopius.dk","name":"Prometheus"}],"header":"Homelab Services Status","link":"https://status.procopius.dk","title":"Homelab Status"};
web = {"address":"0.0.0.0"};
};
grafana
Description: Grafana Metrics Dashboard
Default Port: 3000
Current Deployments: 0 instance(s) on:
Default Integration Status
| Integration | Status | Default Configuration |
|---|---|---|
| 📊 Monitoring | ❌ Disabled | Available but requires monitoring.enable = true |
| 📝 Logging | ❌ Disabled | Available but requires logging.enable = true |
| 🔀 Proxy | ❌ Disabled | Available but requires proxy.enable = true |
Core Configuration
homelab.services.grafana = {
enable = true;
port = 3000;
description = "Grafana Metrics Dashboard";
# Default integrations (adjust as needed)
# monitoring.enable = true; # ❌ Disabled by default
# logging.enable = true; # ❌ Disabled by default
# proxy.enable = true; # ❌ Disabled by default
};
minio
Description: minio
Default Port: 9000
Current Deployments: 1 instance(s) on: photos
Default Integration Status
| Integration | Status | Default Configuration |
|---|---|---|
| 📊 Monitoring | ❌ Disabled | Available but requires monitoring.enable = true |
| 📝 Logging | ❌ Disabled | Available but requires logging.enable = true |
| 🔀 Proxy | ❌ Disabled | Available but requires proxy.enable = true |
Core Configuration
homelab.services.minio = {
enable = true;
port = 9000;
description = "minio";
# Default integrations (adjust as needed)
# monitoring.enable = true; # ❌ Disabled by default
# logging.enable = true; # ❌ Disabled by default
# proxy.enable = true; # ❌ Disabled by default
};
Service-Specific Options
Available configuration options for minio:
homelab.services.minio = {
# ... core options above ...
# Service-specific configuration
openFirewall = true;
webPort = 9001;
};
prometheus
Description: Prometheus Monitoring Server
Default Port: 9090
Current Deployments: 0 instance(s) on:
Default Integration Status
| Integration | Status | Default Configuration |
|---|---|---|
| 📊 Monitoring | ❌ Disabled | Available but requires monitoring.enable = true |
| 📝 Logging | ❌ Disabled | Available but requires logging.enable = true |
| 🔀 Proxy | ❌ Disabled | Available but requires proxy.enable = true |
Core Configuration
homelab.services.prometheus = {
enable = true;
port = 9090;
description = "Prometheus Monitoring Server";
# Default integrations (adjust as needed)
# monitoring.enable = true; # ❌ Disabled by default
# logging.enable = true; # ❌ Disabled by default
# proxy.enable = true; # ❌ Disabled by default
};
Service-Specific Options
Available configuration options for prometheus:
homelab.services.prometheus = {
# ... core options above ...
# Service-specific configuration
alertmanager = {"enable":true,"url":"alertmanager.lab:9093"};
extraAlertingRules = [];
extraFlags = [];
extraScrapeConfigs = [];
globalConfig = {"evaluation_interval":"15s","scrape_interval":"15s"};
retention = 15d;
ruleFiles = [];
systemdServices = ["prometheus.service","prometheus"];
};
Integration Summary
Available Integration Types
| Integration | Purpose | Default Behavior | Configuration |
|---|---|---|---|
| 📊 Monitoring | Prometheus metrics + health checks | Service-dependent | monitoring.enable = true |
| 📝 Logging | Centralized log collection | Service-dependent | logging.enable = true |
| 🔀 Proxy | Reverse proxy with SSL + auth | Service-dependent | proxy.enable = true |
Integration Benefits
- 🔄 Automatic Discovery: Enabled integrations are automatically discovered by fleet-wide services
- 📊 Unified Monitoring: All metrics and health checks appear in Prometheus/Grafana
- 📝 Centralized Logging: All logs are collected and indexed in Loki
- 🌐 Consistent Access: All services get consistent subdomain access with SSL
- 🎯 Smart Defaults: Each service comes with sensible default configurations
This service catalog is generated from actual service configurations across your homelab fleet.