- root pyproject.toml replaces requirements.txt and requirements-worker.txt (worker = root + ffmpeg-python which root already had); test deps moved to [dependency-groups] dev - core/gpu/pyproject.toml replaces core/gpu/requirements.txt; uses [tool.uv.sources] to pin torch/torchvision and paddlepaddle-gpu to their CUDA index URLs, replacing the manual reinstall dance from old comments - Dockerfiles use uv sync --frozen against uv.lock for reproducible builds; PATH includes /app/.venv/bin so k8s manifests' bare uvicorn/celery commands resolve without wrapping in uv run - core/gpu/run.sh local mode now does uv sync + uv run python server.py; errors out cleanly if uv is missing
MPR Control
Scripts for running and deploying MPR.
Setup
-
Add to
/etc/hosts:127.0.0.1 mpr.local.ar -
Copy environment template:
cp ctrl/.env.template ctrl/.env -
Start the stack:
./ctrl/run.sh
URLs
- http://mpr.local.ar/admin - Django Admin
- http://mpr.local.ar/api/docs - FastAPI Swagger
- http://mpr.local.ar/ui - Timeline UI
Commands
# Start all services
./ctrl/run.sh
# Start in detached mode
./ctrl/run.sh -d
# Rebuild and start
./ctrl/run.sh --build
# Stop all
./ctrl/run.sh down
# View logs
./ctrl/run.sh logs -f
# Deploy to remote (configure SERVER/REMOTE_PATH in .env)
./ctrl/deploy.sh
./ctrl/deploy.sh --restart
./ctrl/deploy.sh --dry-run
Ports
| Service | Internal | External |
|---|---|---|
| nginx | 80 | 80 |
| Django | 8701 | 8701 |
| FastAPI | 8702 | 8702 |
| Timeline | 5173 | 5173 |
| PostgreSQL | 5432 | 5433 |
| Redis | 6379 | 6380 |