Installation & Getting Started
Relevant source files
The following files were used as context for generating this wiki page:
FixOps is an enterprise-grade Decision Engine designed to normalize security scan data and automate remediation logic. The installation process is designed to be flexible, supporting local development environments, containerized Docker deployments, and production-scale Kubernetes clusters. The system provides a unified pipeline for ingesting Software Bill of Materials (SBOM), Static Analysis Results Interchange Format (SARIF) files, and Cloud-Native Application Protection Platform (CNAPP) findings to drive security decisions.
Sources: tests/e2e/README.md:3-8, CLI_API_INVENTORY.md:144-155
Prerequisites & Environment Setup
Before deploying FixOps, the environment must be configured with specific tools and dependencies. The project primarily target Python 3.11 or 3.12 and requires Docker for containerized services.
Local Development Requirements
For users on macOS (including M5 Silicon), the following tools are required:
- Homebrew: Package management.
- Python 3.11/3.12: The core runtime.
- Docker Desktop: Native support for Apple Silicon is required.
- jq: For processing JSON API responses.
- git: For repository management.
Sources: tests/e2e/mac_m5_setup.md:5-24, tests/e2e/README.md:104-121
Environment Variables
FixOps requires several environment variables to function correctly. These are typically stored in a .env file generated from .env.example.
| Variable | Description | Default/Example |
|---|---|---|
FIXOPS_API_TOKEN | Authentication token for API access | demo-token |
FIXOPS_MODE | Operating mode (demo or enterprise) | demo |
FIXOPS_API_URL | URL where the API is reachable | http://localhost:8002 |
EMERGENT_LLM_KEY | Key for the emergent LLM engine | Required for analysis |
FIXOPS_DISABLE_TELEMETRY | Disables telemetry reporting | 1 |
Sources: tests/e2e/mac_m5_setup.md:43-47, deployment-packs/docker/backstage/template.yaml:123-138
Installation Methods
1. One-Click Setup Script
The setup-wizard.sh script provides a non-interactive bootstrap for a ready-to-run environment. It generates safe defaults, installs Python dependencies, and starts services via Docker Compose.
The wizard handles the generation of MONGO_PASSWORD, REDIS_PASSWORD, and SECRET_KEY using deterministic logic unless overridden.
Sources: scripts/setup-wizard.sh:1-93
2. Manual Docker Deployment
For standalone or edge deployments, FixOps can be run directly using Docker Compose. This method supports multiple profiles including frontend, nginx, and monitoring.
# Pull and run the latest pre-built image
docker pull devopsaico/fixops:latest
docker run -it -p 8002:8000 devopsaico/fixops:latest
Sources: tests/e2e/mac_m5_setup.md:103-112, deployment-packs/docker/backstage/template.yaml:157-170
3. Enterprise Kubernetes Deployment
For production environments, FixOps supports deployment to vanilla Kubernetes clusters (k3s, OpenShift, Rancher). This deployment involves persistent storage for the "Evidence Lake" and high availability for the backend.
Key Components in Kubernetes:
- fixops-backend: Deployment with configurable replicas (default 3).
- mongodb/redis: State management services.
- fixops-evidence-lake: Persistent Volume Claim (PVC) for audit data.
- Ingress: Configurable Ingress Controller (Nginx, Traefik, etc.).
Sources: deployment-packs/kubernetes/backstage/template.yaml:38-75, archive/enterprise_legacy/deploy-complete.sh:58-75
Getting Started: Initial Ingestion
Once the API is running (default port 8002), the onboarding process involves four primary phases to validate the installation.
Verification Commands
To ensure the installation was successful, the following health checks should be performed:
- Health Endpoint:
curl http://localhost:8002/health - Platform Readiness:
python comprehensive_e2e_test.py --mode platform-readiness - Docker Logs:
docker-compose logs -f fixops-backend
Sources: tests/e2e/mac_m5_setup.md:58-63, tests/e2e/README.md:16-24, deployment-packs/docker/backstage/template.yaml:194-200
Conclusion
Setting up FixOps involves configuring the local environment with Python and Docker, followed by deploying via automated scripts or container orchestrators. Once running, the system is ready to ingest security artifacts and provide automated decision logic through its REST API and CLI tools. Successful installation is verified through the platform's comprehensive E2E test suite, which ensures all 291 API endpoints are functional.
Sources: tests/e2e/README.md:13-14, CLI_API_INVENTORY.md:121