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

Docker İmajı

SnapOtter tek bir Docker imajı olarak dağıtılır. Tek başına çalıştırdığınızda, loopback arayüzünde gömülü bir PostgreSQL 17 ve Redis başlatır (gömülü mod); üretim için, Compose ile ayrı PostgreSQL 17 ve Redis 8 konteynerlerinin yanında çalıştırın. Uygulama imajı tüm platformlarda çalışır.

Hızlı başlangıç

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

Hiçbir DATABASE_URL ayarlanmadığında bu, gömülü modda çalışır: PostgreSQL ve Redis konteyner içinde loopback üzerinde başlar ve tüm veriler SnapOtter-data birimi altında tutulur. Bunun yerine harici hizmetleri kullanmak için DATABASE_URL ve REDIS_URL ayarlayın (Compose yığınının yaptığı gibi). Bkz. Yapılandırma.

NVIDIA CUDA hızlandırması

İmaj, amd64 üzerinde NVIDIA CUDA desteği içerir. NVIDIA Container Toolkit kurulu bir NVIDIA GPU'nuz varsa --gpus all ekleyin:

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

İmaj, CUDA'yı çalışma zamanında otomatik olarak algılar. --gpus all olmadan veya CUDA kullanılamadığında, AI araçları CPU üzerinde çalışır. Her iki durumda da aynı imaj.

Intel/AMD iGPU hızlandırması, VA-API, Quick Sync veya OpenCL aracılığıyla, bugün SnapOtter AI çıkarımı için desteklenmemektedir. /dev/dri öğesini konteyner içine eşlemek render aygıtını açığa çıkarabilir, ancak CUDA kullanılabilir olmadıkça AI çalışma zamanı yine de CPU kullanır.

Karşılaştırmalar

572x1024 boyutunda bir JPEG portresiyle bir NVIDIA RTX 4070 (12 GB VRAM) üzerinde test edildi.

Sıcak performans

AraçCPUGPUHızlanma
Arka plan kaldırma (u2net)2.415ms879ms2,7x
Arka plan kaldırma (isnet)2.457ms1.137ms2,2x
2x büyütme350ms309ms1,1x
4x büyütme910ms310ms2,9x
OCR (PaddleOCR)137ms94ms1,5x
Yüz bulanıklaştırma139ms122ms1,1x

Soğuk başlangıç (konteyner başlangıcından sonraki ilk istek)

AraçCPUGPUHızlanma
Arka plan kaldırma22.286ms4.792ms4,7x
2x büyütme3.957ms2.318ms1,7x
OCR (PaddleOCR)1.469ms1.090ms1,3x

CUDA sağlık kontrolü

İlk AI isteğinden sonra, yönetici sağlık uç noktası CUDA GPU durumunu raporlar:

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

Docker Compose

Tam Compose yığını uygulamayı, PostgreSQL 17'yi ve Redis 8'i içerir. Eksiksiz docker-compose.yml için bkz. Dağıtım. Minimal bir örnek:

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:

Docker Compose aracılığıyla NVIDIA CUDA hızlandırması için, SnapOtter hizmetine deploy bölümünü ekleyin:

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

Sürüm sabitleme

EtiketAçıklama
latestEn son sürüm
1.11.0Tam sürüm
1.111.11.x içindeki en son yama
11.x içindeki en son ara sürüm

Platformlar

MimariGPU desteğiNotlar
linux/amd64NVIDIA CUDAAI araçları için tam CUDA hızlandırması
linux/arm64Yalnızca CPURaspberry Pi 4/5, Docker Desktop aracılığıyla Apple Silicon

Önceki etiketlerden geçiş

:cuda etiketini kullanıyorduysanız, :latest öğesine geçin ve --gpus all öğesini koruyun. Aynı GPU desteği, birleşik imaj.

Verileriniz ve ayarlarınız birimlerde korunur.