# Docker Deployment Deploys the full VIPR stack: Frontend · API · Celery Worker · Redis. ## Quick Start ```bash git clone https://codebase.helmholtz.cloud/vipr/vipr-framework.git cd vipr-framework cp docker-compose.override.yml.example docker-compose.override.yml mkdir -p storage/reflectorch/{configs,saved_models} docker compose up --wait ``` - Frontend: http://localhost:5000 - API docs: http://localhost:8000/docs (uncomment `ports` for `vipr-api` in `docker-compose.override.yml`) ## Services | Service | Purpose | Port | |---|---|---| | `redis` | Message broker & result backend | 6379 | | `vipr-api` | FastAPI backend | 8000 | | `vipr-worker` | Celery background worker | — | | `vipr-frontend` | Nuxt.js web interface | 5000 | ## Common Tasks ```bash # Logs docker compose logs -f vipr-api # Restart a service docker compose restart vipr-worker # Pull latest images and restart docker compose pull && docker compose up -d # Shell access docker compose exec vipr-api bash ``` ## Troubleshooting **Service won't start** ```bash docker compose ps docker compose logs vipr-api ``` **Permission denied on storage/** ```bash sudo chown -R $(id -u):$(id -g) storage/ ``` **Storage directory layout** (bind-mounted from `./storage/`) ``` storage/ ├── reflectorch/ # Reflectorch models and configs ├── huggingface/ # Downloaded HuggingFace models ├── panpe/ # PANPE models ├── results/ # Inference results └── plugins/ # Runtime plugins ``` **Reset everything** ```bash docker compose down --volumes docker compose up -d ``` ## Image Sources Images are pulled from `registry.hzdr.de`: - `registry.hzdr.de/vipr/vipr-api:latest` - `registry.hzdr.de/vipr/vipr-frontend:latest`