Deployment

OpenOBA Deployment Guide

From zero to production in 5 minutes with private deployment

Requirements

ComponentMinimumRecommended
OSLinux / macOS / WindowsUbuntu 22.04+
Docker20.10+24.0+
Docker Compose2.0+2.20+
Node.js18 LTS+
DatabaseRelational DB
Memory4 GB8 GB+
Disk20 GB50 GB SSD

Method 1: Docker Compose (Recommended)

1. Clone the Repository

git clone https://github.com/openoba/openoba-starter.git
cd openoba-starter

2. Configure Environment

cp .env.example .env
# Edit .env to set your database password, LLM API key, etc.

Security: Always change default passwords and API keys in .env. Never commit .env to Git.

3. Start Services

docker-compose up -d

First launch auto-completes database initialization, table migration, and seed data. After startup:

  • Admin Console: http://localhost:3000
  • API Docs (Swagger): http://localhost:3000/api-docs

4. Verify

curl http://localhost:3000/api/health
# Returns {"status":"ok"} if successful

Method 2: Manual Deployment

1. Install Dependencies

# Backend
cd backend
npm install

# Frontend
cd ../frontend
npm install

2. Create Database

mysql -u root -p
CREATE DATABASE openoba_erp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. Run Migrations

cd backend
npm run migration:run

4. Import Seed Data

npm run seed

5. Start

# Backend (port 3000)
npm run start:dev

# Frontend (port 5173)
cd ../frontend
npm run dev

Configure LLM

OpenOBA supports multiple LLM backends. Configure in .env:

# Recommended default
LLM_PROVIDER=your_provider
LLM_API_KEY=***
LLM_MODEL=your_model

# Or OpenAI-compatible
LLM_PROVIDER=openai
LLM_BASE_URL=https://api.openai.com/v1
LLM_API_KEY=sk-your-key-here
LLM_MODEL=gpt-4o

Tip: For fully private deployment, connect to a locally-hosted LLM (vLLM / Ollama)—data never leaves your network.

Updates

git pull origin main
docker-compose down
docker-compose build
docker-compose up -d

FAQ

Port already in use?

Change port mappings in docker-compose.yml, or set a different PORT in .env.

Database connection fails?

Check the database is running. Verify connection info in .env.

Low memory?

At least 4 GB is recommended. On 2 GB cloud servers, consider disabling non-essential containers or lowering Node.js memory limits in .env.

Need help? Email support@openoba.com or join our community.