fix(photo-ai): GPU выдаётся ключом gpus: all вместо CDI-спеки

CDI-спека /etc/cdi/nvidia.yaml запекает нумерацию /dev/dri/card* на момент
генерации, поэтому после переподключения видеокарты или смены порта
контейнер не стартует с "CDI device injection failed". Ключ gpus: all от
этого свободен: Docker сам подставляет драйвер NVIDIA, правка
/etc/docker/daemon.json и перезапуск демона не нужны.
This commit is contained in:
dev
2026-10-04 21:04:53 +03:00
parent b5f377b1bf
commit 1d71e249e4
3 changed files with 26 additions and 23 deletions
+3 -1
View File
@@ -59,8 +59,10 @@ PHOTO_AI_URL=http://photo-ai:8080
PHOTO_AI_MAX_PIXELS=4000000
# Устройство инференса: auto (CUDA, если контейнеру выдан GPU, иначе CPU), cuda, cpu.
# Явный cuda без доступной CUDA не роняет сервис: WARN в лог и работа на CPU.
# GPU-вариант собирается оверрайдом (отдельный образ whatido-photo-ai:cu126, GPU через CDI):
# GPU-вариант собирается оверрайдом (отдельный образ whatido-photo-ai:cu126, GPU через `gpus: all`):
# docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d --build photo-ai
# Чтобы оверрайд применялся ко всем командам docker compose на этой машине, укажите
# в локальном .env: COMPOSE_FILE=docker-compose.yml:docker-compose.gpu.yml
# Подробности установки NVIDIA Container Toolkit — в README, раздел «Запуск на NVIDIA GPU».
PHOTO_AI_DEVICE=auto
# Размер тайла инференса (0 — без тайлов). Меньше тайл — меньше памяти, медленнее.