Some checks failed
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
mdBook Build & Deploy / Build mdBook (push) Has been cancelled
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
mdBook Build & Deploy / Documentation Quality Check (push) Has been cancelled
mdBook Build & Deploy / Deploy to GitHub Pages (push) Has been cancelled
mdBook Build & Deploy / Notification (push) Has been cancelled
Docker Compose Templates
Jinja2 templates for generating Docker Compose configurations.
Templates
docker-compose.yaml.j2
Generate complete docker-compose.yml from Nickel configuration.
Includes:
- Service definitions (backend, agents, router, frontend)
- Database service (SurrealDB)
- Optional services (NATS, Prometheus)
- Volume definitions
- Network configuration
- Environment variables from config
- Port mappings
- Health checks
Usage:
nickel export vapora.multiuser.ncl | \
jinja2 templates/docker-compose/docker-compose.yaml.j2 > docker-compose.yml
Then deploy:
docker compose up -d
Configuration
Template parameters from Nickel config:
- Services: Backend, Agents, Router, Frontend, Database
- Ports: From configuration (8001, 8002, 8003, 3000, 8000)
- Volumes: Database, storage, logs
- Environment: Database credentials, API keys, logging
- Networks: Shared network for inter-service communication
Workflow
Nickel Config (vapora.multiuser.ncl)
↓
Export to JSON
↓
Render docker-compose Template
↓
docker-compose.yml
↓
docker compose up -d
↓
Running VAPORA Stack
Service Configuration
Template generates services for:
- SurrealDB - Database
- NATS (optional) - Message broker
- Backend - REST API
- Agents - Orchestration
- LLM Router - Multi-provider routing
- Frontend - Web UI
- Prometheus (optional) - Metrics
References
- Parent:
../README.md - Docker Compose docs: https://docs.docker.com/compose/
- SurrealDB Docker: https://hub.docker.com/r/surrealdb/surrealdb