Get Flux Orchestrator up and running in 5 minutes.
Get Flux Orchestrator up and running in minutes!
git clone https://github.com/Forcebyte/flux-orchestrator.git
cd flux-orchestrator
Start a database
Using PostgreSQL:
docker run -d \
--name flux-orchestrator-postgres \
-e POSTGRES_DB=flux_orchestrator \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-p 5432:5432 \
postgres:15-alpine
Using MySQL:
docker run -d \
--name flux-orchestrator-mysql \
-e MYSQL_DATABASE=flux_orchestrator \
-e MYSQL_USER=flux \
-e MYSQL_PASSWORD=flux \
-e MYSQL_ROOT_PASSWORD=rootpass \
-p 3306:3306 \
mysql:8
Start the backend (in one terminal)
For PostgreSQL:
export DB_DRIVER=postgres
export ENCRYPTION_KEY=$(python3 -c "import base64; import os; print(base64.urlsafe_b64encode(os.urandom(32)).decode())")
export ENV=development # Optional: human-readable logs
make backend-dev
For MySQL:
export DB_DRIVER=mysql
export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=flux
export DB_PASSWORD=flux
export DB_NAME=flux_orchestrator
export PORT=8080
go run backend/cmd/server/main.go
cd frontend
npm install
npm run dev
git clone https://github.com/Forcebyte/flux-orchestrator.git
cd flux-orchestrator
make docker-build
Start services
With PostgreSQL (default):
docker-compose up -d
With MySQL:
docker-compose -f docker-compose-mysql.yml up -d
Use pre-built image from GitHub Container Registry
The manifests are already configured to use ghcr.io/forcebyte/flux-orchestrator:latest:
kubectl apply -f deploy/kubernetes/manifests.yaml
Or build and push your own image:
# Build
docker build -t your-registry/flux-orchestrator:latest .
# Push to your registry
docker push your-registry/flux-orchestrator:latest
# Update the image in deploy/kubernetes/manifests.yaml
# Then apply
kubectl apply -f deploy/kubernetes/manifests.yaml
deploy/kubernetes/manifests.yaml and change the image:
image: your-registry/flux-orchestrator:latest
kubectl apply -f deploy/kubernetes/manifests.yaml
kubectl port-forward -n flux-orchestrator svc/flux-orchestrator 8080:80
Open http://localhost:8080
Once the application is running:
Navigate to “Clusters” in the sidebar
Click “+ Add Cluster”
Tip: See
docs/kubeconfig-example.yamlfor format
Click “Add Cluster”
docker ps | grep postgreslsof -i :8080node --version (should be 18+)rm -rf node_modules && npm installlsof -i :3000kubectl --kubeconfig=<path> get nodeskubectl get crd | grep flux# Basic health check
curl http://localhost:8080/health
# Detailed readiness (checks database and K8s client)
curl http://localhost:8080/readiness
If readiness check fails, it will show which dependency is unavailable.
View application logs in real-time. Set ENV=development for human-readable format:
ENV=development go run backend/cmd/server/main.go
View Prometheus metrics at http://localhost:8080/metrics
Useful for monitoring:
Swagger UI available at http://localhost:8080/swagger/index.html
After setup, try:
For detailed usage, see the main README.