Operations

Deployment Guide

Transition from local development to a production-grade deployment on your own infrastructure.

Development (Local)

Run directly on your laptop using npm scripts. Ideal for building and testing workflows.

npm run dev (backend)
npm run worker (runner)
npm run dev (frontend)
Local MongoDB

Production (Docker Compose)

Deploy the complete stack with MongoDB, backend, worker, frontend, and optional nginx proxy.

Docker Compose
MongoDB Replica Set
Backend API (:5000)
Worker Process
Frontend (:3000)
Nginx Proxy (optional)

Docker Compose Deployment

The recommended production setup uses Docker Compose. It provisions MongoDB with a replica set, the Express API, the worker runtime, the Next.js frontend, and an optional nginx reverse proxy.

docker-compose.yml
services:
  mongo:
    image: mongo:7
    command: ["--replSet", "rs0", "--bind_ip_all"]
    ports:
      - "27017:27017"
    volumes:
      - mongo_data:/data/db
    healthcheck:
      test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
      interval: 10s
      timeout: 5s
      retries: 10

  backend:
    build:
      context: ..
      dockerfile: infra/Dockerfile
      target: backend
    ports:
      - "5000:5000"
    depends_on:
      mongo:
        condition: service_healthy

  worker:
    build:
      context: ..
      dockerfile: infra/Dockerfile
      target: backend
    command: ["npm", "run", "worker"]
    depends_on:
      backend:
        condition: service_healthy

  frontend:
    build:
      context: ..
      dockerfile: infra/Dockerfile
      target: frontend
    ports:
      - "3000:3000"
    depends_on:
      backend:
        condition: service_healthy

  nginx:
    image: nginx:1.27-alpine
    profiles: ["proxy"]
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro

Environment Configuration

Create an .env file in the infra/ directory before starting Docker Compose. Key variables include MongoDB URI, JWT secret, LLM provider keys, worker settings, and integration tokens.

Production Considerations

On-Premises

Deploy to your own bare-metal hardware for maximum data control and performance.

Cloud VPC

Deploy to a private cloud network with restricted external access for high-security workflows.

Hybrid

Keep the execution engine local but interact with cloud-based LLM providers via encrypted tunnels.

Network Configuration

If you plan to access the dashboard remotely, ensure you set up an Nginx reverse proxy with SSL (Let's Encrypt). We recommend keeping the API server behind a firewall and only exposing the necessary ports. If using local LLMs, ensure the worker instances have high-bandwidth network access to your model server.