Files
desktop/modules/pihole/module.json
Lars Gebhardt-Kusche d121f74bd0
All checks were successful
Deploy / deploy-staging (push) Successful in 25s
Deploy / deploy-production (push) Has been skipped
Main update
2026-06-24 02:24:39 +02:00

141 lines
4.3 KiB
JSON

{
"title": "Pi-hole",
"version": "0.1.0",
"description": "Pi-hole Monitoring, Listen und Steuerung fuer mehrere Instanzen.",
"enabled_by_default": true,
"app_scope": "module",
"installable": true,
"desktop": {
"available": true,
"show_on_desktop": true,
"show_in_start_menu": true
},
"widgets": [
{
"widget_id": "pihole-maintenance",
"title": "Pi-hole Wartung",
"icon": "PH",
"zone": "sidebar",
"default_enabled": false,
"supports_public_home": false,
"summary": "Gravity-Update und Listen-Refresh direkt aus dem Desktop.",
"content": "Schnellaktionen fuer die Pflege der Pi-hole-Instanzen.",
"launch_app_id": "pihole",
"action_label": "App oeffnen",
"widget_type": "action-panel",
"status_api": "/api/pihole/index.php?action=widget_status",
"actions": [
{
"action_id": "gravity",
"label": "Gravity aktualisieren",
"endpoint": "/api/pihole/index.php?action=gravity",
"method": "POST",
"payload": {
"instance": "primary"
}
},
{
"action_id": "update",
"label": "Pi-hole updaten",
"endpoint": "/api/pihole/index.php?action=update",
"method": "POST",
"payload": {
"instance": "primary"
},
"variant": "secondary"
}
]
}
],
"cron_jobs": [
{
"job_id": "gravity-primary",
"label": "Pi-hole Gravity Update",
"description": "Aktualisiert die Blocklisten auf der Primaer-Instanz.",
"endpoint_path": "/api/pihole/index.php?action=gravity",
"method": "POST",
"payload": {
"instance": "primary",
"trigger_source": "cron"
},
"default_enabled": false,
"default_cron": "20 4 * * *",
"lock_minutes": 30
},
{
"job_id": "update-primary",
"label": "Pi-hole Systemupdate",
"description": "Startet ein Update der Primaer-Instanz.",
"endpoint_path": "/api/pihole/index.php?action=update",
"method": "POST",
"payload": {
"instance": "primary",
"trigger_source": "cron"
},
"default_enabled": false,
"default_cron": "50 4 * * 0",
"lock_minutes": 45
}
],
"setup": {
"fields": [
{
"name": "api_path",
"label": "API Pfad",
"type": "text",
"help": "Standard ist /admin/api.php fuer v5-Instanzen. v6 wird automatisch erkannt.",
"required": false
},
{
"name": "verify_tls",
"label": "TLS Zertifikate pruefen",
"type": "checkbox",
"help": "Bei internen Testsystemen nur deaktivieren, wenn self-signed Zertifikate genutzt werden.",
"required": false
},
{
"name": "api_timeout_sec",
"label": "API Timeout Standard (Sekunden)",
"type": "number",
"help": "Timeout fuer normale Pi-hole API-Abfragen wie Dashboard und Queries. Standard: 8 Sekunden.",
"required": false
},
{
"name": "action_timeout_sec",
"label": "API Timeout Aktionen (Sekunden)",
"type": "number",
"help": "Timeout fuer laengere Aktionen wie Listen- oder Pi-hole-Updates. Standard: 120 Sekunden.",
"required": false
},
{
"name": "dashboard_refresh_sec",
"label": "Refresh Dashboard (Sekunden)",
"type": "number",
"help": "Automatische Aktualisierung fuer das Dashboard. Standard: 1 Sekunde. 0 deaktiviert den Auto-Refresh.",
"required": false
},
{
"name": "lists_refresh_sec",
"label": "Refresh Listen (Sekunden)",
"type": "number",
"help": "Automatische Aktualisierung fuer die Listen-Seite. Standard: 5 Sekunden. 0 deaktiviert den Auto-Refresh.",
"required": false
},
{
"name": "queries_refresh_sec",
"label": "Refresh Queries (Sekunden)",
"type": "number",
"help": "Automatische Aktualisierung fuer die Queries-Seite. Standard: 5 Sekunden. 0 deaktiviert den Auto-Refresh.",
"required": false
},
{
"name": "lists_primary_only",
"label": "Listen nur auf Primaer-Instanz bearbeiten",
"type": "checkbox",
"help": "Erzwingt Listen- und Domain-Aenderungen nur auf der Primaer-Instanz.",
"required": false
}
]
}
}