Bu sayfa makine çevirisidir. Bir hata mı fark ettiniz?İyileştirmemize yardım edin.
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
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, CUDA karşılaştırmasına dahil değildir. Hem yerleşik Tesseract katmanı hem de isteğe bağlı RapidOCR/ONNX katmanları, konteynerin NVIDIA GPU erişimine sahip olduğu durumlar da dahil olmak üzere CPU kullanır.

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     # Yerel olmayan dağıtımlar için bunu değiştirin
      POSTGRES_DB: snapotter
    volumes:
      - SnapOtter-pgdata:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U snapotter -d 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
2.2.0Tam sürüm
2.22.2.x içindeki en son yama
22.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.