Files
jarvis-home/skills/python/dockge-compose/skill.json
T
2026-08-29 17:02:35 +02:00

156 lines
3.5 KiB
JSON

{
"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"
}
}
]
}