Installation
This guide covers installing OpenPrime for local development. For production deployments, see the Deployment Guide.
Prerequisites​
Before installing OpenPrime, ensure you have:
- Docker Desktop 4.0+ with Docker Compose v2
- Node.js 18+ (for component development)
- Git for cloning the repository
- SOPS and age for secrets management (optional)
Verify Prerequisites​
# Check Docker
docker --version # Docker version 24.0+
docker compose version # Docker Compose version v2.20+
# Check Node.js (optional, for development)
node --version # v18.0.0+
npm --version # 9.0.0+
Quick Installation​
1. Clone the Repository​
git clone https://github.com/DevOpsGroup/OpenPrime.git
cd OpenPrime
2. Start Services​
cd openprime-local-testing
npm start
This starts all services:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- Keycloak: http://localhost:8080
- Injecto: http://localhost:8000
3. Initialize Secrets (Optional)​
For full functionality, set up encrypted secrets:
npm run env:init # Create secrets file from template
npm run secrets:edit # Edit with your credentials
Service Architecture​
Service Port Description
─────────────────────────────────────────────────
openprime-app 3000 React frontend
openprime-backend 3001 Express.js API
keycloak 8080 Authentication (OIDC)
injecto 8000 Template processor
statecraft 8001 Terraform state manager
postgresql 5432 Database
Verify Installation​
Check service health:
# All services health check
npm run health
# Individual service checks
curl http://localhost:3000 # Frontend
curl http://localhost:3001/health # Backend
curl http://localhost:8080/realms/master # Keycloak
curl http://localhost:8000/health # Injecto
Default Credentials​
Keycloak Admin Console​
- URL: http://localhost:8080/admin
- Username:
admin - Password:
admin
Application Login​
After Keycloak initialization, create a user in the openprime realm or configure an identity provider.
Common Issues​
Port Conflicts​
If ports are already in use:
# Find process using port 3000
lsof -i :3000
# Kill the process
kill -9 <PID>
# Or change ports in docker-compose.yml
Docker Memory​
OpenPrime requires at least 4GB RAM allocated to Docker. Increase in Docker Desktop settings if you experience issues.
Database Connection​
If the backend can't connect to PostgreSQL:
# Check database logs
npm run logs:db
# Reset database
npm run clean
npm start
Next Steps​
- Quick Start Guide - Create your first environment
- Configuration - Customize OpenPrime settings