{ "listen_addr": ":8090", "username": "admin", "password_env": "ENV_CONTROLLER_PASSWORD", "password_file": "/run/secrets/env_controller_password", "auto_import_missing": false, "max_backups": 100, "docker_timeout": "5m", "projects": [ { "id": "glpi-ai-stack", "title": "GLPI AI Stack", "env_file": "/opt/glpi-ai-stack/.env", "example_file": "/opt/glpi-ai-stack/.env.example", "backup_dir": "/backups/glpi-ai-stack", "targets": [ { "container_name": "glpi-ai-agent", "display_name": "GLPI AI Agent", "allowed_actions": ["restart", "recreate"], "default_action": "recreate", "apply_by_default": true, "project_dir": "/opt/glpi-ai-stack", "compose_files": [ "/opt/glpi-ai-stack/docker-compose.yml", "/opt/glpi-ai-stack/compose.controller-names.yml" ], "compose_service": "agent", "compose_project": "glpi-ai-stack", "env_file": "/opt/glpi-ai-stack/.env" }, { "container_name": "glpi-ai-ollama", "display_name": "Ollama", "allowed_actions": ["restart", "recreate"], "default_action": "restart", "apply_by_default": false, "project_dir": "/opt/glpi-ai-stack", "compose_files": [ "/opt/glpi-ai-stack/docker-compose.yml", "/opt/glpi-ai-stack/compose.controller-names.yml" ], "compose_service": "ollama", "compose_project": "glpi-ai-stack", "env_file": "/opt/glpi-ai-stack/.env" }, { "container_name": "glpi-kb-search", "display_name": "KB Search (Dritt-Container)", "allowed_actions": ["restart", "recreate"], "default_action": "recreate", "apply_by_default": true, "project_dir": "/opt/glpi-kb-stack", "compose_files": [ "/opt/glpi-kb-stack/compose.yml" ], "compose_service": "kb-search", "compose_project": "glpi-kb-stack", "env_file": "/opt/glpi-ai-stack/.env" } ] } ] }