OpenOBA Deployment Guide
From zero to production in 5 minutes with private deployment
Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Linux / macOS / Windows | Ubuntu 22.04+ |
| Docker | 20.10+ | 24.0+ |
| Docker Compose | 2.0+ | 2.20+ |
| Node.js | 18 LTS+ | |
| Database | Relational DB | |
| Memory | 4 GB | 8 GB+ |
| Disk | 20 GB | 50 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.