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

Docker-image

SnapOtter wordt geleverd als één enkele Docker-image. Draai deze op zichzelf en er wordt een ingebedde PostgreSQL 17 en Redis op de loopback-interface gestart (ingebedde modus); voor productie draai je deze naast aparte PostgreSQL 17- en Redis 8-containers met Compose. De app-image werkt op alle platforms.

Snelstart

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

Zonder ingestelde DATABASE_URL draait dit in ingebedde modus: PostgreSQL en Redis starten binnen de container op loopback, met alle gegevens onder het SnapOtter-data-volume. Stel DATABASE_URL en REDIS_URL in (zoals de Compose-stack doet) om in plaats daarvan externe services te gebruiken. Zie Configuratie.

NVIDIA CUDA-versnelling

De image bevat NVIDIA CUDA-ondersteuning op amd64. Als je een NVIDIA-GPU met de NVIDIA Container Toolkit geïnstalleerd hebt, voeg dan --gpus all toe:

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

De image detecteert CUDA automatisch tijdens runtime. Zonder --gpus all, of wanneer CUDA niet beschikbaar is, draaien AI-tools op de CPU. Hoe dan ook dezelfde image.

Intel/AMD-iGPU-versnelling via VA-API, Quick Sync of OpenCL wordt momenteel niet ondersteund voor SnapOtter AI-inferentie. Het toewijzen van /dev/dri aan de container kan het render-apparaat blootstellen, maar de AI-runtime blijft de CPU gebruiken tenzij CUDA beschikbaar is.

Benchmarks

Getest op een NVIDIA RTX 4070 (12 GB VRAM) met een 572x1024 JPEG-portret.

Warme prestaties

ToolCPUGPUVersnelling
Achtergrond verwijderen (u2net)2.415ms879ms2,7x
Achtergrond verwijderen (isnet)2.457ms1.137ms2,2x
Upscalen 2x350ms309ms1,1x
Upscalen 4x910ms310ms2,9x
OCR (PaddleOCR)137ms94ms1,5x
Gezicht vervagen139ms122ms1,1x

Koude start (eerste verzoek na containerstart)

ToolCPUGPUVersnelling
Achtergrond verwijderen22.286ms4.792ms4,7x
Upscalen 2x3.957ms2.318ms1,7x
OCR (PaddleOCR)1.469ms1.090ms1,3x

CUDA-gezondheidscontrole

Na het eerste AI-verzoek rapporteert het admin-gezondheidseindpunt de CUDA GPU-status:

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

Docker Compose

De volledige Compose-stack bevat de app, PostgreSQL 17 en Redis 8. Zie Implementatie voor de volledige docker-compose.yml. Een minimaal voorbeeld:

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:

Voeg voor NVIDIA CUDA-versnelling via Docker Compose de deploy-sectie toe aan de SnapOtter-service:

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

Versievastzetting

TagBeschrijving
latestNieuwste release
1.11.0Exacte versie
1.11Nieuwste patch in 1.11.x
1Nieuwste minor in 1.x

Platforms

ArchitectuurGPU-ondersteuningOpmerkingen
linux/amd64NVIDIA CUDAVolledige CUDA-versnelling voor AI-tools
linux/arm64Alleen CPURaspberry Pi 4/5, Apple Silicon via Docker Desktop

Migratie van vorige tags

Gebruikte je de :cuda-tag, schakel dan over naar :latest en houd --gpus all aan. Dezelfde GPU-ondersteuning, verenigde image.

Je gegevens en instellingen blijven behouden in de volumes.