VIPR Framework - Docker Deployment¶
This guide covers deploying the full VIPR stack (Web UI + API + Worker) using Docker Compose.
Quick Start¶
# 1. Start all services with your user ID (recommended)
docker compose up --wait
# 2. Check service health
docker compose ps
Accessing the services¶
The Web Application is exposed on port 5000
The API Docs are exposed on port 8000
The easiest way to start is to bind the port using docker-compose.override.yml file:
services:
vipr-frontend:
ports:
- "5000:5000"
vipr-api:
ports:
- "8000:8000"
Restart the services:
docker compose up --wait
Access Points:
API Documentation: http://localhost:8000/docs
Frontend UI: http://localhost:5000
Services¶
Service |
Purpose |
Port |
|---|---|---|
redis |
Message broker & result backend |
6379 |
vipr-api |
FastAPI backend service |
8000 |
vipr-worker |
Celery background worker |
- |
vipr-frontend |
Nuxt.js web interface |
5000 |
Key Concepts:
vipr-core: CLI framework with plugin architecture (Cement)
Plugins: Extend vipr-core functionality (e.g., vipr-reflectometry)
vipr-api: FastAPI service that uses vipr-core + plugins as library
Celery: Async task execution for long-running inference
See ARCHITECTURE.md for detailed technical overview.
Common Tasks¶
View Logs¶
# All services
docker compose logs -f
# Specific service
docker compose logs -f vipr-api
docker compose logs -f vipr-worker
Restart Services¶
# Single service
docker compose restart vipr-worker
# All services
docker compose restart
Update Images¶
# Pull latest images
docker compose pull
# Restart with new images
docker compose up -d
Access Container Shell¶
docker compose exec vipr-api bash
docker compose exec vipr-worker bash
Troubleshooting¶
Service Won’t Start¶
Check health status and dependencies:
docker compose ps
docker compose logs vipr-api
Access Storage Directory¶
All application data is store in a volume named storage.
ls -la /var/lib/docker/volumes/vipr-framework_storage/_data
# storage/huggingface/ - Downloaded models
# storage/reflectorch/ - Reflectorch models and configs
# storage/panpe/ - PANPE models
# storage/results/ - Inference results
# storage/plugins/ - Runtime plugins
Clear All Data¶
# Stop services
docker compose down --volumes
# Restart fresh (storage will be recreated)
docker compose up -d
Image Sources¶
Images are pulled from the HZDR registry:
API/Worker:
registry.hzdr.de/vipr/vipr-api:latestFrontend:
registry.hzdr.de/vipr/vipr-frontend:latest
Both are built via GitLab CI/CD from their respective repositories.