This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Docker-образ

SnapOtter постачається як єдиний Docker-образ. Запустіть його окремо, і він запустить вбудовані PostgreSQL 17 та Redis на інтерфейсі loopback (вбудований режим); для промислового використання запускайте його поряд з окремими контейнерами PostgreSQL 17 та Redis 8 за допомогою Compose. Образ застосунку працює на всіх платформах.

Швидкий старт

bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest

Без встановленого DATABASE_URL це запускається у вбудованому режимі: PostgreSQL та Redis стартують усередині контейнера на loopback, а всі дані зберігаються в томі SnapOtter-data. Встановіть DATABASE_URL та REDIS_URL (як це робить стек Compose), щоб натомість використовувати зовнішні сервіси. Див. Налаштування.

Прискорення NVIDIA CUDA

Образ включає підтримку NVIDIA CUDA на amd64. Якщо у вас є GPU NVIDIA зі встановленим NVIDIA Container Toolkit, додайте --gpus all:

bash
docker run -d --name SnapOtter --gpus all -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest

Образ автоматично виявляє CUDA під час виконання. Без --gpus all або коли CUDA недоступна, інструменти AI працюють на CPU. Образ той самий в обох випадках.

Прискорення iGPU Intel/AMD через VA-API, Quick Sync чи OpenCL наразі не підтримується для AI-інференсу SnapOtter. Прокидання /dev/dri у контейнер може відкрити доступ до render-пристрою, але AI-середовище виконання все одно використовуватиме CPU, доки CUDA недоступна.

Тести продуктивності

Протестовано на NVIDIA RTX 4070 (12 ГБ VRAM) з портретним JPEG 572x1024.

Продуктивність у прогрітому стані

ІнструментCPUGPUПрискорення
Видалення фону (u2net)2415 мс879 мс2.7x
Видалення фону (isnet)2457 мс1137 мс2.2x
Збільшення 2x350 мс309 мс1.1x
Збільшення 4x910 мс310 мс2.9x
OCR (PaddleOCR)137 мс94 мс1.5x
Розмиття облич139 мс122 мс1.1x

Холодний старт (перший запит після запуску контейнера)

ІнструментCPUGPUПрискорення
Видалення фону22286 мс4792 мс4.7x
Збільшення 2x3957 мс2318 мс1.7x
OCR (PaddleOCR)1469 мс1090 мс1.3x

Перевірка стану CUDA

Після першого AI-запиту адміністративний ендпоінт стану звітує про статус GPU CUDA:

GET /api/v1/admin/health
{"ai": {"gpu": true}}

Docker Compose

Повний стек Compose включає застосунок, PostgreSQL 17 та Redis 8. Див. Розгортання для повного docker-compose.yml. Мінімальний приклад:

yaml
services:
  SnapOtter:
    image: snapotter/snapotter:latest
    ports:
      - "1349:1349"
    volumes:
      - SnapOtter-data:/data
      - SnapOtter-workspace:/tmp/workspace
    environment:
      - DATABASE_URL=postgres://snapotter:snapotter@postgres:5432/snapotter
      - REDIS_URL=redis://redis:6379
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
    restart: unless-stopped
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

  postgres:
    image: postgres:17-alpine
    environment:
      POSTGRES_USER: snapotter
      POSTGRES_PASSWORD: snapotter
      POSTGRES_DB: snapotter
    volumes:
      - SnapOtter-pgdata:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U snapotter"]
      interval: 10s
      timeout: 5s
      retries: 12

  redis:
    image: redis:8-alpine
    command: ["redis-server", "--maxmemory-policy", "noeviction", "--appendonly", "yes"]
    volumes:
      - SnapOtter-redisdata:/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 12

volumes:
  SnapOtter-data:
  SnapOtter-workspace:
  SnapOtter-pgdata:
  SnapOtter-redisdata:

Для прискорення NVIDIA CUDA через Docker Compose додайте секцію deploy до сервісу SnapOtter:

yaml
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Закріплення версій

ТегОпис
latestОстанній випуск
1.11.0Точна версія
1.11Останній патч у 1.11.x
1Останній мінорний у 1.x

Платформи

АрхітектураПідтримка GPUПримітки
linux/amd64NVIDIA CUDAПовне прискорення CUDA для AI-інструментів
linux/arm64Лише CPURaspberry Pi 4/5, Apple Silicon через Docker Desktop

Міграція з попередніх тегів

Якщо ви використовували тег :cuda, перейдіть на :latest і залиште --gpus all. Та сама підтримка GPU, уніфікований образ.

Ваші дані та налаштування зберігаються в томах.