Installation
MachinaOs runs locally with themachina CLI. For production, deploy to a cloud VM with machina deploy.
Prerequisites
- Node.js 22+
- Python 3.12+
- uv (Python package manager)
- Git
Quick Install
- Install the CLI
- From source
Install MachinaOs globally and start it:The app will be available at:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:3010 - Node.js executor:
http://localhost:3020 - WhatsApp:
http://localhost:9400 - Temporal Web UI:
http://localhost:8080
CLI Commands
Themachina CLI (also available as npx machina) drives every lifecycle action:
| Command | Description |
|---|---|
machina start | Start all services (production mode, clean output) |
machina dev | Start with hot-reload for development |
machina build | Install dependencies and build for production |
machina serve | Serve API + WebSocket + SPA on a single public port |
machina stop | Stop all running services |
machina clean | Clean build artifacts |
machina deploy | Provision a cloud VM running MachinaOs |
--verbose / -v (full service logs), --skip-whatsapp (skip the WhatsApp service).
Environment Configuration
Copy the environment template:Key Settings
Frontend development server port
Backend API server port
Authentication mode:
single (first user is owner) or multi (open registration)Enable Redis cache. Set to
true for production.WebSocket URL for remote Android device connections
Full Environment Example
Verify Installation
- Open
http://localhost:3000in your browser - You should see the MachinaOs workflow editor
- Check the backend health:
curl http://localhost:3010/health
If you see the workflow canvas with the component palette, installation is complete!
Production Deployment
The recommended way to run MachinaOs in production ismachina deploy, which provisions a login-gated cloud VM (currently Google Cloud) using your cloud CLI plus Terraform, then runs MachinaOs on a single port via machina serve under systemd:
Docker Compose is a legacy/optional path and is no longer the recommended deployment method. If you need the container topology for reference, use
machina docker:up from source.Troubleshooting
Port already in use
Port already in use
Change the port in MachinaOs also uses ports 3020 (Node.js executor), 9400 (WhatsApp), 7233 (Temporal gRPC), 8080 (Temporal Web UI), and 6379 (Redis, when enabled).
.env:Python dependencies fail
Python dependencies fail
The backend is managed by uv. Sync the environment from the lock file:This creates
server/.venv against server/uv.lock. Make sure uv is installed and on your PATH first.Services won't start
Services won't start
Stop everything cleanly, then start again with full logs:If a build looks stale, run
machina clean before machina build.Next Steps
Quick Start
Build your first workflow in 5 minutes