Files
Scriberr/docker-compose.build.blackwell.yml
Fran Fitzpatrick 8f537548d4 feat: add RTX 5090 Blackwell GPU support (sm_120)
Add support for NVIDIA RTX 50-series GPUs (Blackwell architecture) which
require CUDA 12.8+ and PyTorch cu128 wheels due to the new sm_120 compute
capability.

Changes:
- Add configurable PYTORCH_CUDA_VERSION environment variable to control
  PyTorch wheel version at runtime (cu126 for legacy, cu128 for Blackwell)
- Update all model adapters to use dynamic CUDA version instead of
  hardcoded cu126 URLs
- Update Dockerfile.cuda.12.9 for Blackwell with CUDA 12.9.1 base image,
  PYTORCH_CUDA_VERSION=cu128, and missing WHISPERX_ENV/yt-dlp
- Update Dockerfile.cuda with explicit PYTORCH_CUDA_VERSION=cu126
- Add docker-compose.blackwell.yml for pre-built Blackwell image
- Add docker-compose.build.blackwell.yml for local Blackwell builds
- Add GPU compatibility documentation to README

Fixes: rishikanthc/Scriberr#104
2025-12-24 14:46:44 -08:00

38 lines
1.1 KiB
YAML

# Docker Compose for building Scriberr with Blackwell GPU support locally
# Uses Dockerfile.cuda.12.9 for RTX 50-series (Blackwell architecture, sm_120)
# For legacy GPUs (GTX 10-series through RTX 40-series), use docker-compose.build.cuda.yml instead
services:
scriberr:
build:
context: .
dockerfile: Dockerfile.cuda.12.9
image: scriberr:local-blackwell
container_name: scriberr-blackwell
ports:
- "8080:8080"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpu
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
# Security: already set in container, but can be overridden
- APP_ENV=production
# CORS: comma-separated list of allowed origins for production
# - ALLOWED_ORIGINS=https://your-domain.com
volumes:
- ./scriberr_data:/app/data
- ./env-data:/app/whisperx-env
restart: unless-stopped
volumes:
scriberr_data:
env-data: