Comprehensive guides and references for the OpenFrame platform
Before getting started with OpenFrame, ensure your development environment meets the following requirements.
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 8+ cores |
| RAM | 8 GB | 16+ GB |
| Storage | 50 GB SSD | 100+ GB SSD |
| Network | Stable internet | High-speed broadband |
OpenFrame supports development on:
| Software | Version | Purpose |
|---|---|---|
| Java JDK | 21+ | Backend service development |
| Apache Maven | 3.8+ | Build tool for Java services |
| Spring Boot | 3.3.0 | Already included in dependencies |
Install Java 21:
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-21-jdk
# macOS with Homebrew
brew install openjdk@21
# Windows (download from Oracle or use Chocolatey)
choco install openjdk21
Verify Java installation:
java -version
# Should show: openjdk version "21.x.x"
mvn -version
# Should show: Apache Maven 3.8.x or higher
| Software | Version | Purpose |
|---|---|---|
| Node.js | 18+ | VoltAgent core and tooling |
| npm | 9+ | Package management |
Install Node.js:
# Ubuntu/Debian - via NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# macOS with Homebrew
brew install node
# Windows - download from nodejs.org or use Chocolatey
choco install nodejs
Verify Node.js installation:
node --version
# Should show: v18.x.x or higher
npm --version
# Should show: 9.x.x or higher
OpenFrame requires several database systems for different purposes:
| Database | Version | Purpose |
|---|---|---|
| MongoDB | 6.0+ | Primary transactional storage |
| Apache Cassandra | 4.0+ | Time-series and log persistence |
| Apache Pinot | 1.2.0+ | Real-time analytics |
| Redis | 7.0+ | Caching and session storage |
| Software | Version | Purpose |
|---|---|---|
| Apache Kafka | 3.6+ | Event streaming backbone |
| NATS Server | 2.10+ | Agent messaging |
| Tool | Version | Purpose |
|---|---|---|
| Docker | 20.10+ | Containerization (recommended for databases) |
| Docker Compose | 2.0+ | Multi-container orchestration |
| Git | 2.30+ | Version control |
| IDE | Latest | IntelliJ IDEA, VS Code, or Eclipse |
Set the following environment variables for development:
# MongoDB
export MONGODB_URI="mongodb://localhost:27017/openframe"
export MONGODB_DATABASE="openframe"
# Cassandra
export CASSANDRA_CONTACT_POINTS="localhost:9042"
export CASSANDRA_KEYSPACE="openframe_logs"
# Redis
export REDIS_HOST="localhost"
export REDIS_PORT="6379"
# Apache Pinot
export PINOT_CONTROLLER_URL="http://localhost:9000"
export PINOT_BROKER_URL="http://localhost:8000"
# Kafka
export KAFKA_BOOTSTRAP_SERVERS="localhost:9092"
export KAFKA_GROUP_ID="openframe-dev"
# NATS
export NATS_SERVERS="nats://localhost:4222"
export NATS_CLUSTER_ID="openframe-cluster"
# OpenFrame Configuration
export OPENFRAME_PROFILE="development"
export OPENFRAME_CONFIG_SERVER="http://localhost:8888"
# Security
export JWT_SECRET="your-jwt-secret-key-here"
export OAUTH2_CLIENT_SECRET="your-oauth2-client-secret"
# AI Integration
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export OPENAI_API_KEY="your-openai-api-key"
While OpenFrame is open-source, you may need accounts for:
Depending on your MSP needs:
Ensure the following ports are accessible:
| Port | Service | Purpose |
|---|---|---|
| 8080 | API Service | Internal REST/GraphQL API |
| 8081 | Gateway Service | Edge routing and security |
| 8082 | Authorization Server | OAuth2/OIDC endpoints |
| 8083 | External API | Public API endpoints |
| 8888 | Config Server | Centralized configuration |
| 3000 | Frontend UI | Web dashboard (development) |
| Port | Database | Purpose |
|---|---|---|
| 27017 | MongoDB | Document storage |
| 9042 | Cassandra | Time-series data |
| 6379 | Redis | Caching |
| 9000 | Pinot Controller | Analytics coordination |
| 8000 | Pinot Broker | Analytics queries |
| Port | Service | Purpose |
|---|---|---|
| 9092 | Kafka | Event streaming |
| 4222 | NATS | Agent messaging |
| 2181 | Zookeeper | Kafka coordination |
Run these commands to verify your environment is ready:
java -version
mvn -version
node --version
npm --version
docker --version
docker compose version
git --version
# MongoDB (if running locally)
mongosh --eval "db.runCommand('ping')"
# Redis (if running locally)
redis-cli ping
For development, you can start the required databases using Docker Compose:
# Create a docker-compose.yml for development dependencies
curl -o docker-compose.dev.yml https://raw.githubusercontent.com/flamingo-stack/openframe-oss-tenant/main/docker-compose.dev.yml
# Start development databases
docker compose -f docker-compose.dev.yml up -d
This will start MongoDB, Redis, Kafka, and other required services in development mode.
Once your environment meets these prerequisites:
Java Version Conflicts:
# Check all Java versions
java -version
javac -version
echo `$JAVA_HOME`
Port Conflicts:
# Check what's running on OpenFrame ports
netstat -tulpn | grep :8080
lsof -i :8080 # macOS
Docker Issues:
# Restart Docker service
sudo systemctl restart docker # Linux
# Or restart Docker Desktop on macOS/Windows
If you encounter issues:
Ready to proceed? Continue with the Quick Start Guide to get OpenFrame running.