homelab/docs/services.md
plasmagoat ce8c543e84
Some checks failed
Test / tests (push) Has been cancelled
/ OpenTofu (push) Has been cancelled
auto docs
2025-07-29 16:28:17 +02:00

209 lines
4.1 KiB
Markdown

# Service Catalog
> Available services and their configuration options
>
> Generated on: tir 29 jul 16:25:43 CEST 2025
This document catalogs all available homelab services, their configuration options, and integration capabilities.
## Overview
**Total Available Services:** 4
## Service Reference
### gatus
**Description:** Gatus Status Page
**Default Port:** `8080`
**Current Deployments:** 0 instance(s)
#### Core Configuration
```nix
homelab.services.gatus = {
enable = true;
port = 8080;
description = "Gatus Status Page";
};
```
#### Service-Specific Options
Available configuration options for gatus:
```nix
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"};
};
```
#### Complete Example
```nix
# Full configuration example for gatus
homelab.services.gatus = {
enable = true;
port = 8080;
description = "Gatus Status Page";
};
```
---
### grafana
**Description:** Grafana Metrics Dashboard
**Default Port:** `3000`
**Current Deployments:** 0 instance(s)
#### Core Configuration
```nix
homelab.services.grafana = {
enable = true;
port = 3000;
description = "Grafana Metrics Dashboard";
};
```
#### Complete Example
```nix
# Full configuration example for grafana
homelab.services.grafana = {
enable = true;
port = 3000;
description = "Grafana Metrics Dashboard";
};
```
---
### minio
**Description:** minio
**Default Port:** `9000`
**Current Deployments:** 1 instance(s)
#### Core Configuration
```nix
homelab.services.minio = {
enable = true;
port = 9000;
description = "minio";
};
```
#### Service-Specific Options
Available configuration options for minio:
```nix
homelab.services.minio = {
# ... core options above ...
# Service-specific configuration
openFirewall = true;
webPort = 9001;
};
```
#### Complete Example
```nix
# Full configuration example for minio
homelab.services.minio = {
enable = true;
port = 9000;
description = "minio";
};
```
---
### prometheus
**Description:** Prometheus Monitoring Server
**Default Port:** `9090`
**Current Deployments:** 0 instance(s)
#### Core Configuration
```nix
homelab.services.prometheus = {
enable = true;
port = 9090;
description = "Prometheus Monitoring Server";
};
```
#### Service-Specific Options
Available configuration options for prometheus:
```nix
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"];
};
```
#### Complete Example
```nix
# Full configuration example for prometheus
homelab.services.prometheus = {
enable = true;
port = 9090;
description = "Prometheus Monitoring Server";
};
```
---
## Integration Summary
### Available Integration Types
| Integration | Purpose | Configuration |
|-------------|---------|---------------|
| **Monitoring** | Prometheus metrics + health checks | `monitoring.enable = true` |
| **Logging** | Centralized log collection | `logging.enable = true` |
| **Proxy** | Reverse proxy with SSL + auth | `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
---
*This service catalog is generated from actual service configurations across your homelab fleet.*