Web Dashboard & REST API

Web Dashboard

When running in HTTP mode, a web dashboard is available at the server root (http://<host>:<port>/). It provides:

  • Environment list with status indicators (running / stopped / partial)
  • Environment actions: Start / Stop / Restart / Protect / Delete
  • Environment creation form (branch, repo URL, Odoo image, template, extra addons)
  • Environment protection — toggle to prevent accidental deletion
  • Live log viewer for each environment
  • Container and system resource stats (CPU, RAM, load average)
  • Service management — create, update, delete, and view logs for auxiliary services
  • Extra addons management — clone, list, and delete extra addon repositories
  • Template listing — view available template profiles with their status
  • License management — view current license and activate license keys

REST API Endpoints

All endpoints return JSON with an ok field. Authentication via HTTP Basic auth when ODUFLOW_AUTH_TOKEN is set (user: admin, password: the token value).

Environments

Method Endpoint Description
GET /api/environments List all environments
POST /api/environments/create Create a new environment (JSON body: branch_name, repo_url, odoo_image, template_name)
POST /api/environments/{branch}/start Start an environment
POST /api/environments/{branch}/stop Stop an environment
POST /api/environments/{branch}/restart Restart an environment
POST /api/environments/{branch}/sync Pull latest code and auto-install/upgrade/restart
POST /api/environments/{branch}/delete Delete an environment
GET /api/environments/{branch}/logs?n=200 Get environment logs
POST /api/environments/{branch}/protect Protect environment from deletion
POST /api/environments/{branch}/unprotect Remove protection from environment

Services

Method Endpoint Description
GET /api/services List all managed services
POST /api/services/create Create a service (JSON body: name, image, port, hostname, env_vars)
POST /api/services/{name}/update Update (pull latest image & recreate)
POST /api/services/{name}/delete Delete a service
GET /api/services/{name}/logs?n=200 Get service logs

Service Presets

Method Endpoint Description
GET /api/service-presets List saved service presets
POST /api/service-presets/{name}/restore Restore a service from a saved preset
POST /api/service-presets/{name}/delete Delete a saved service preset

System

Method Endpoint Description
GET /api/stats Container CPU/RAM stats + system metrics
GET /api/templates List available template profiles

Extra Addons

Method Endpoint Description
GET /api/extra-repos List all cloned extra addons repositories
POST /api/extra-repos/add Clone an extra addons repo (JSON body: name, repo_url)
POST /api/extra-repos/{name}/delete Delete a cloned extra addons repository

Licensing

Method Endpoint Description
GET /api/license Get current license information
POST /api/license/activate Activate a license key (JSON body: key)

Agent Guides

Method Endpoint Description
GET /api/agent-guides List all available agent guides
GET /api/agent-guides/{filename} Get content of a specific agent guide

results matching ""

    No results matching ""