auto docs
This commit is contained in:
parent
a955528e44
commit
ce8c543e84
18 changed files with 3129 additions and 55 deletions
209
docs/services.md
Normal file
209
docs/services.md
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
# 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.*
|
||||
Loading…
Add table
Add a link
Reference in a new issue