{ "title": "Pi Control", "version": "0.1.0", "description": "Verwaltung und Steuerung von Raspberry Pis (SSH/Commands/Presets).", "menu": [ { "label": "Übersicht", "href": "/module/pi_control" }, { "label": "Konsole", "href": "/module/pi_control/console" }, { "label": "Settings", "children": [ { "label": "Hosts", "href": "/module/pi_control/hosts" }, { "label": "Befehle", "href": "/module/pi_control/commands" } ] } ], "sidebar": { "enabled": true, "collapsible": true, "default": "collapsed", "items": [ { "label": "Übersicht", "href": "/module/pi_control" }, { "label": "Konsole", "href": "/module/pi_control/console" }, { "label": "Hosts", "href": "/module/pi_control/hosts" }, { "label": "Befehle", "href": "/module/pi_control/commands" } ] }, "setup": { "fields": [ { "name": "use_separate_db", "label": "Eigene Modul-DB nutzen", "type": "checkbox", "required": false, "help": "Wenn aktiv, werden die DB-Daten unten verwendet. Sonst wird die Base-DB genutzt." }, { "name": "db.driver", "label": "DB Driver", "type": "text", "required": false, "help": "z.B. pgsql, mysql, sqlite" }, { "name": "db.host", "label": "DB Host", "type": "text", "required": false }, { "name": "db.port", "label": "DB Port", "type": "number", "required": false }, { "name": "db.dbname", "label": "DB Name", "type": "text", "required": false }, { "name": "db.schema", "label": "DB Schema", "type": "text", "required": false }, { "name": "db.user", "label": "DB User", "type": "text", "required": false }, { "name": "db.password", "label": "DB Passwort", "type": "password", "required": false }, { "name": "ttyd_url", "label": "ttyd URL", "type": "text", "required": false, "help": "z.B. https://staging.nexus.kusche.berlin/ttyd" }, { "name": "terminal_token_ttl", "label": "Token TTL (Minuten)", "type": "number", "required": false, "help": "Gültigkeit der Konsole-Token, z.B. 10" }, { "name": "terminal_shared_secret", "label": "Terminal Shared Secret", "type": "password", "required": false, "help": "Zusätzliche Absicherung für terminal_info (Header X-Terminal-Secret)" }, { "name": "terminal_tmux_session", "label": "tmux Session-Name", "type": "text", "required": false, "help": "Session-Name für bestehende Konsole (Standard: nexus)" }, { "name": "terminal_strict_hostkey", "label": "Strict Host-Key Checking", "type": "checkbox", "required": false, "help": "Aktiviert StrictHostKeyChecking (accept-new) statt Insecure." }, { "name": "exec_default_timeout", "label": "Command-Timeout (Sek.)", "type": "number", "required": false, "help": "Default-Timeout für Befehle, z.B. 300" }, { "name": "settings_reload_sec", "label": "Settings Reload (Sek.)", "type": "number", "required": false, "help": "Wie oft der Worker Settings neu lädt (Standard 30s)" }, { "name": "redis.host", "label": "Redis Host", "type": "text", "required": false, "help": "Service-Name, z.B. redis" }, { "name": "redis.port", "label": "Redis Port", "type": "number", "required": false, "help": "Standard 6379" }, { "name": "redis.password", "label": "Redis Passwort", "type": "password", "required": false }, { "name": "redis.db", "label": "Redis DB", "type": "number", "required": false, "help": "Standard 0" }, { "name": "redis.queue", "label": "Redis Queue", "type": "text", "required": false, "help": "z.B. pi_control:queue" } ] }, "db_defaults": { "driver": "pgsql", "host": "localhost", "port": 5432, "dbname": "", "schema": "public", "user": "", "password": "" } }