Den här sidan är maskinöversatt. Hittade du ett fel?Hjälp till att förbättra den.
Skip to content

Docker-avbildning ​

SnapOtter levereras som en enda Docker-avbildning. Kör den fristående så startar den en inbäddad PostgreSQL 17 och Redis på loopback-gränssnittet (inbäddat läge); i produktion kör du den tillsammans med separata containrar för PostgreSQL 17 och Redis 8 med Compose. App-avbildningen fungerar på alla plattformar.

Snabbstart ​

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

Utan att DATABASE_URL är satt körs detta i inbäddat läge: PostgreSQL och Redis startar inuti containern på loopback, med all data under volymen SnapOtter-data. Sätt DATABASE_URL och REDIS_URL (som Compose-stacken gör) för att använda externa tjänster i stället. Se Konfiguration.

NVIDIA CUDA-acceleration ​

Avbildningen inkluderar stöd för NVIDIA CUDA på amd64. Om du har en NVIDIA-GPU med NVIDIA Container Toolkit installerat lägger du till --gpus all:

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

Avbildningen upptäcker CUDA automatiskt vid körning. Utan --gpus all, eller när CUDA inte är tillgängligt, körs AI-verktygen på CPU. Samma avbildning oavsett.

Acceleration med Intel/AMD iGPU via VA-API, Quick Sync eller OpenCL stöds inte för SnapOtters AI-inferens i dag. Att mappa in /dev/dri i containern kan exponera renderingsenheten, men AI-körtiden använder fortfarande CPU om inte CUDA finns tillgängligt.

Benchmarks ​

Testat på en NVIDIA RTX 4070 (12 GB VRAM) med ett 572x1024 JPEG-porträtt.

Varm prestanda ​

VerktygCPUGPUSnabbhetsökning
Bakgrundsborttagning (u2net)2 415 ms879 ms2,7x
Bakgrundsborttagning (isnet)2 457 ms1 137 ms2,2x
Uppskalning 2x350 ms309 ms1,1x
Uppskalning 4x910 ms310 ms2,9x
Ansiktsoskärpa139 ms122 ms1,1x

Kallstart (första begäran efter containerstart) ​

VerktygCPUGPUSnabbhetsökning
Bakgrundsborttagning22 286 ms4 792 ms4,7x
Uppskalning 2x3 957 ms2 318 ms1,7x

OCR ingår inte i CUDA-jämförelsen. Både den inbyggda Tesseract-nivån och de valfria RapidOCR/ONNX-nivåerna använder CPU, inklusive när behållaren har NVIDIA GPU-åtkomst.

CUDA-hälsokontroll ​

Efter den första AI-begäran rapporterar administratörens hälsoslutpunkt CUDA-GPU-status:

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

Docker Compose ​

Hela Compose-stacken inkluderar appen, PostgreSQL 17 och Redis 8. Se Distribution för den kompletta docker-compose.yml. Ett minimalt exempel:

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     # Ändra detta för icke-lokala distributioner
      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:

För NVIDIA CUDA-acceleration via Docker Compose lägger du till deploy-avsnittet till SnapOtter-tjänsten:

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

Versionslåsning ​

TaggBeskrivning
latestSenaste utgåvan
2.2.0Exakt version
2.2Senaste patch i 2.2.x
2Senaste minor i 2.x

Plattformar ​

ArkitekturGPU-stödAnteckningar
linux/amd64NVIDIA CUDAFull CUDA-acceleration för AI-verktyg
linux/arm64Endast CPURaspberry Pi 4/5, Apple Silicon via Docker Desktop

Migrering från tidigare taggar ​

Om du använde taggen :cuda byter du till :latest och behåller --gpus all. Samma GPU-stöd, en enhetlig avbildning.

Dina data och inställningar bevaras i volymerna.