Docker Compose, private cloud, and on-premise deployment options.
Codegraphs runs as a set of 12+ Docker containers orchestrated by Docker Compose. The standard deployment includes all services required for a fully functional platform.
# Development (Linux native)
cd DVN-Infra
scripts/compose-up.sh
# Production
docker compose \
-f compose/docker-compose.yml \
-f compose/docker-compose.prod.yml \
--env-file env/prod.env \
up -d
The platform consists of 10 application services plus infrastructure:
| Service | Port | Role |
|---|---|---|
| dvn-nginx | :80, :443 | SSL termination, reverse proxy, static files |
| dvn-gateway | :8088 | External entry point, JWT validation, routing |
| dvn-api | :8080 | Search engine (internal only) |
| dvn-auth | :8093 | JWT/OIDC/OTP authentication |
| dvn-postgres | :5432 | Auth/Contract database |
| dvn-redis | :6379 | Session store, rate limiting |
Internal services (dvn-api, dvn-admin) are on the dvn-internal Docker network and are not directly accessible from the host. All external traffic must go through dvn-gateway.
PDF processing can leverage GPU acceleration via MinerU. GPU support is controlled by the DVN_GPU_HOST environment variable:
# env/dev.env
DVN_GPU_HOST=true # Enable GPU (MinerU)
DVN_GPU_HOST=false # CPU-only (tesseract)
Use scripts/compose-up.sh instead of raw docker compose — it reads DVN_GPU_HOST and automatically includes or excludes the GPU Compose file.
Enterprise customers receive a full Docker Compose-based deployment package. No external network access is required — all services run within the customer's infrastructure. Source code never leaves the network.
.tar archives for environments without internet accessEnterprise onboarding: We provide dedicated support for initial setup, including environment validation, JWT key generation, and tenant configuration. Contact enterprise@codegraphs.com.
# Verify all services
curl http://localhost:8088/api/health # Gateway
curl http://localhost:8093/api/health # Auth
curl http://localhost:8094/api/health # Contract
curl http://localhost:8095/api/health # Conductor
curl http://localhost:8096/api/health # Manager
curl http://localhost:8090/api/health # ReServices
curl http://localhost:8091/api/health # PdfConvert
curl http://localhost:8092/api/health # OfficeConvert
All services expose a /api/health endpoint returning HTTP 200 when healthy. Prometheus metrics are available at :9091 and Grafana dashboards at :3000.