Search K
Are you an LLM? You can read better optimized documentation at /es/guide/docker-tags.md for this page in Markdown format
Imagen Docker
SnapOtter se distribuye como una única imagen Docker. Al ejecutarla por sí sola, arranca un PostgreSQL 17 y un Redis embebidos en la interfaz de loopback (modo embebido); para producción, ejecútala junto a contenedores separados de PostgreSQL 17 y Redis 8 con Compose. La imagen de la aplicación funciona en todas las plataformas.
Inicio rápido
bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latestSin ningún DATABASE_URL definido, esto se ejecuta en modo embebido: PostgreSQL y Redis arrancan dentro del contenedor en loopback, con todos los datos bajo el volumen SnapOtter-data. Define DATABASE_URL y REDIS_URL (como hace la pila de Compose) para usar servicios externos en su lugar. Consulta Configuración.
Aceleración NVIDIA CUDA
La imagen incluye compatibilidad con NVIDIA CUDA en amd64. Si tienes una GPU NVIDIA con el NVIDIA Container Toolkit instalado, añade --gpus all:
bash
docker run -d --name SnapOtter --gpus all -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latestLa imagen detecta CUDA automáticamente en tiempo de ejecución. Sin --gpus all, o cuando CUDA no está disponible, las herramientas de IA se ejecutan en CPU. La misma imagen en cualquier caso.
La aceleración por iGPU de Intel/AMD mediante VA-API, Quick Sync u OpenCL no es compatible hoy con la inferencia de IA de SnapOtter. Mapear /dev/dri dentro del contenedor puede exponer el dispositivo de render, pero el runtime de IA seguirá usando la CPU salvo que CUDA esté disponible.
Benchmarks
Probado en una NVIDIA RTX 4070 (12 GB de VRAM) con un retrato JPEG de 572x1024.
Rendimiento en caliente
| Herramienta | CPU | GPU | Aceleración |
|---|---|---|---|
| Eliminación de fondo (u2net) | 2.415ms | 879ms | 2,7x |
| Eliminación de fondo (isnet) | 2.457ms | 1.137ms | 2,2x |
| Escalado 2x | 350ms | 309ms | 1,1x |
| Escalado 4x | 910ms | 310ms | 2,9x |
| OCR (PaddleOCR) | 137ms | 94ms | 1,5x |
| Desenfoque de rostros | 139ms | 122ms | 1,1x |
Arranque en frío (primera petición tras iniciar el contenedor)
| Herramienta | CPU | GPU | Aceleración |
|---|---|---|---|
| Eliminación de fondo | 22.286ms | 4.792ms | 4,7x |
| Escalado 2x | 3.957ms | 2.318ms | 1,7x |
| OCR (PaddleOCR) | 1.469ms | 1.090ms | 1,3x |
Comprobación de estado de CUDA
Tras la primera petición de IA, el endpoint de salud de administración informa del estado de la GPU CUDA:
GET /api/v1/admin/health
{"ai": {"gpu": true}}Docker Compose
La pila completa de Compose incluye la aplicación, PostgreSQL 17 y Redis 8. Consulta Despliegue para el docker-compose.yml completo. Un ejemplo mínimo:
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:Para la aceleración NVIDIA CUDA mediante Docker Compose, añade la sección deploy al servicio de SnapOtter:
yaml
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]Fijado de versiones
| Etiqueta | Descripción |
|---|---|
latest | Última versión |
1.11.0 | Versión exacta |
1.11 | Último parche en 1.11.x |
1 | Última versión menor en 1.x |
Plataformas
| Arquitectura | Soporte de GPU | Notas |
|---|---|---|
| linux/amd64 | NVIDIA CUDA | Aceleración CUDA completa para herramientas de IA |
| linux/arm64 | Solo CPU | Raspberry Pi 4/5, Apple Silicon mediante Docker Desktop |
Migración desde etiquetas anteriores
Si usabas la etiqueta :cuda, cambia a :latest y conserva --gpus all. Mismo soporte de GPU, imagen unificada.
Tus datos y ajustes se conservan en los volúmenes.
