{ "protocol": "jarvis.skill.v1", "id": "dockge.compose", "name": "Dockge Stack Control", "version": "1.0.0", "description": "Steuert Dockge-verwaltete Compose-Stacks direkt über deren Stack-Verzeichnis und Docker Compose. Nutzt bewusst nicht Dockges instabile interne Socket-API.", "runtime": { "type": "process", "command": "python3", "args": [ "main.py" ], "timeout_ms": 120000, "env_from": [ "DOCKGE_STACKS_DIR", "DOCKGE_ALLOWED_STACKS" ] }, "permissions": { "system_exec": true }, "actions": [ { "name": "list_stacks", "description": "Listet Dockge-Stack-Verzeichnisse und deren Compose-Dateien.", "input_schema": { "type": "object", "properties": {}, "additionalProperties": false }, "output_schema": { "type": "object", "properties": { "stacks": { "type": "array", "items": { "type": "object" } }, "count": { "type": "integer" } }, "required": [ "stacks", "count" ], "additionalProperties": false } }, { "name": "stack_status", "description": "Liest den Docker-Compose-Status eines Dockge-Stacks.", "input_schema": { "type": "object", "properties": { "stack": { "type": "string" } }, "required": [ "stack" ], "additionalProperties": false }, "output_schema": { "type": "object" } }, { "name": "start_stack", "description": "Startet/deployed einen erlaubten Dockge-Stack mit docker compose up -d.", "mutates": true, "requires_confirmation": true, "input_schema": { "type": "object", "properties": { "stack": { "type": "string" } }, "required": [ "stack" ], "additionalProperties": false }, "output_schema": { "type": "object" } }, { "name": "stop_stack", "description": "Stoppt einen erlaubten Dockge-Stack.", "mutates": true, "requires_confirmation": true, "input_schema": { "type": "object", "properties": { "stack": { "type": "string" } }, "required": [ "stack" ], "additionalProperties": false }, "output_schema": { "type": "object" } }, { "name": "restart_stack", "description": "Startet einen erlaubten Dockge-Stack neu.", "mutates": true, "requires_confirmation": true, "input_schema": { "type": "object", "properties": { "stack": { "type": "string" } }, "required": [ "stack" ], "additionalProperties": false }, "output_schema": { "type": "object" } }, { "name": "update_stack", "description": "Pullt Images eines erlaubten Dockge-Stacks und deployed ihn anschließend neu.", "mutates": true, "requires_confirmation": true, "input_schema": { "type": "object", "properties": { "stack": { "type": "string" } }, "required": [ "stack" ], "additionalProperties": false }, "output_schema": { "type": "object" } } ] }