SCADA/CMS management platform for thousands of isolated Python scripts and bots - one Runtime Engine, many sandboxes, no separate container for the script.
July 7, 2026 - release v0.1.13 published: updating backend dependencies and synchronizing documentation. Previous v0.1.12 - script API fixes and runtime resistance to Redis. See release notes.
PyOrchestrator is a platform for creating, scheduling, running and monitoring Python automation in a fixed Docker Compose stack: web interface, API, scheduler, isolated runtime, observability and MCP server for AI agents.
Release notes · Quick start · Architecture · Control Panel · MCP
Features
| Module | Description |
|---|---|
| Overview | KPIs, combined activity charts, object inventory, and service status |
| Scripts and bots | CRUD, multi-file editor (Monaco), import/export, templates |
| Groups | Organizing scripts by category |
| Schedules | Cron, intervals, webhook triggers |
| Webhooks | External HTTP triggers |
| Runtime | Subprocess sandbox + venv + rlimits, Redis queue |
| Secrets | Encrypted storage for a script, injection at runtime |
| Backups | Manual and scheduled backups and restoration |
| Alerts | In-app notifications for run events |
| Observability | Prometheus, Grafana, Loki (block in UI - only if Grafana is available) |
| MCP | 24+ tools for Cursor and other AI agents |
| RBAC | Administrator / Developer / Operator / Viewer |
Stack
| Component | Technology |
|---|---|
| API | FastAPI 0.115, Uvicorn 0.49, SQLAlchemy 2.0, Alembic, asyncpg, PostgreSQL 16 |
| UI | React 18, TypeScript 5, Vite 5, Tailwind CSS 4, react-router-dom 7, Monaco, Recharts |
| Runtime | Python 3.12, subprocess, venv, psutil 7, Prometheus |
| Scheduler | APScheduler 3.10 |
| Queue/pub-sub | Redis 7 |
| Files | MinIO (S3-compatible) |
| MCP | mcp SDK, streamable HTTP + stdio |
| Infrastructure | Docker Compose |
Quick start
git clone https://github.com/PyOrchestrator/PyOrchestrator.git
cd PyOrchestrator
git checkout v0.1.13
cp .env.example .env
docker compose up --build
| Service | URL |
|---|---|
| Control Panel | http://localhost:5173 |
| API + Swagger | http://localhost:8000/docs |
| Grafana | http://localhost:3000 (if GRAFANA_ENABLED=true and the service is running) |
| Prometheus | http://localhost:9090 |
| MinIO S3 API | http://localhost:9000 |
| MinIO Console | http://localhost:9001 (only with MINIO_CONSOLE_ENABLED=true) |
| MCP (HTTP) | http://localhost:8010/mcp |
Default login: admin@pyorchestrator.local / admin - change the password and secrets in .env before production.
Repository structure
PyOrchestrator/
├── backend/ # FastAPI — REST, WebSocket, RBAC
├── frontend/ # React — control panel
├── runtime/ # Sandbox engine
├── scheduler/ # APScheduler service
├── mcp/ # MCP server for AI agents
├── infrastructure/ # Prometheus, Grafana, Loki
├── docs/ # Documentation (GitHub Pages)
├── wiki/ # Copy for GitHub Wiki
└── docker-compose.yml