New guide/low-resource page: what runs well on 2 GB machines, a Raspberry Pi / old laptop Compose walkthrough with tuned caps, the env-var knobs that matter on small hardware, and what to skip. Linked from getting-started, the deployment hardware section, and the sidebar. Translated into all 20 non-English locales via the i18n batch pipeline; parity check and VitePress build pass. Admin merge: docs-only PR, the path-filtered required integration contexts never report (#420 precedent). Closes #497
8.0 KiB
description, i18n_output_hash, i18n_source_hash, i18n_provenance
| description | i18n_output_hash | i18n_source_hash | i18n_provenance |
|---|---|---|---|
| Instala SnapOtter con Docker en un solo comando. Incluye la configuración de Docker Compose, la compilación desde el código fuente y una descripción completa de las funciones. | d513d36ca8ba | 68bf7f60b68d | human |
Primeros pasos
::: tip Pruébalo antes de instalar Explora la interfaz completa en demo.snapotter.com, sin necesidad de registro ni instalación. :::
Inicio rápido
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
Este único contenedor ejecuta todo lo que necesita: sin DATABASE_URL definido, inicia su propio PostgreSQL y Redis en la interfaz de loopback (modo embebido) y mantiene todos los datos en el volumen SnapOtter-data. Es la forma más rápida de probar SnapOtter o de autoalojarlo en un homelab. Para producción, ejecuta la pila de Docker Compose que aparece abajo, que mantiene PostgreSQL y Redis en sus propios contenedores. El modo embebido se ejecuta como root (el valor por defecto) y se desactiva automáticamente en cuanto defines DATABASE_URL.
¿Vas a instalar en una Raspberry Pi, un portátil viejo o un VPS pequeño? Consulta Configuraciones con recursos limitados para una guía paso a paso ajustada y saber qué esperar de un hardware limitado.
Se te pedirá que cambies tu contraseña en el primer inicio de sesión.
::: tip Analítica Anónima de Producto SnapOtter incluye analítica de producto anónima por defecto. Para desactivarla, abre Ajustes → Sistema → Privacidad y desactiva Analítica Anónima de Producto. Se detiene de inmediato para toda la instancia.
También puedes establecer la variable de entorno SNAPOTTER_TELEMETRY=0 (false y off también funcionan) para deshabilitar toda la telemetría de la instancia sin recompilar.
La monitorización de errores funciona con Sentry, que patrocina a SnapOtter a través de su programa de código abierto.
Para más detalles sobre qué se recopila, consulta Qué recopila SnapOtter. :::
::: tip Aceleración con NVIDIA CUDA
Agregue --gpus all para NVIDIA eliminación de fondo, ampliación, mejora facial y restauración acelerada por CUDA. OCR permanece basado en CPU y funciona en la misma imagen con o sin acceso a GPU:
docker run -d --name SnapOtter -p 1349:1349 --gpus all -v SnapOtter-data:/data snapotter/snapotter:latest
Requiere el NVIDIA Container Toolkit. Recurre a la CPU automáticamente cuando CUDA no está disponible. La aceleración por iGPU de Intel/AMD mediante VA-API, Quick Sync u OpenCL no es compatible con la inferencia de IA por ahora. Consulta Etiquetas de Docker para las pruebas de rendimiento. :::
::: details También en GHCR
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest
Ambos registros publican la misma imagen en cada versión. :::
Docker Compose
services:
SnapOtter:
image: snapotter/snapotter:latest # or ghcr.io/snapotter-hq/snapotter:latest
ports:
- "1349:1349"
volumes:
- SnapOtter-data:/data
environment:
- AUTH_ENABLED=true
- DEFAULT_USERNAME=admin
- DEFAULT_PASSWORD=admin
- 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
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-pgdata:
SnapOtter-redisdata:
Consulta Configuración para todas las variables de entorno.
Compilar desde el código fuente
Requisitos previos: Node.js 22+, pnpm 9+, Docker (para Postgres + Redis), Python 3.10+ (para funciones de IA), Git.
git clone https://github.com/snapotter-hq/SnapOtter.git
cd SnapOtter
docker compose -f docker-compose.dev.yml up -d # start Postgres + Redis
pnpm install
pnpm dev
- Frontend: http://localhost:1349
- Backend: http://localhost:13490
Qué puedes hacer
Procesamiento de archivos (200+ herramientas)
| Modalidad | Recuento | Herramientas de ejemplo |
|---|---|---|
| Imagen | 105 | Redimensionar, Recortar, Comprimir, Convertir, Eliminar fondo, Escalar, OCR, Marca de agua, Collage, Colorizar, Herramientas GIF, ajustes de formato predefinidos |
| Vídeo | 57 | Recortar, Recortar marco, Comprimir, Convertir, Combinar, Extraer audio, Subtítulos automáticos, Vídeo a GIF, Redimensionar, Estabilizar, ajustes de formato predefinidos |
| Audio | 27 | Recortar, Combinar, Convertir, Normalizar, Reducción de ruido, Transcribir, Cambio de tono, Fundido, Creador de tonos de llamada, ajustes de formato predefinidos |
| PDF / Documento | 42 | Combinar, Dividir, Comprimir, OCR, Marca de agua, Redactar, Word a PDF, Excel a PDF, Rotar, Proteger, Reparar |
| Archivos | 10 | CSV a JSON, JSON a XML, Combinar CSVs, Dividir CSV, Crear ZIP, Extraer ZIP, Creador de gráficos, YAML/JSON |
Canalizaciones
Encadena herramientas en flujos de trabajo de varios pasos y aplícalos a una imagen o a un lote completo:
- Abre Canalizaciones en la barra lateral.
- Añade pasos (cualquier herramienta, cualquier configuración).
- Ejecuta sobre un solo archivo, o sobre un lote entero a la vez.
- Guarda la canalización para reutilizarla más tarde.
Las canalizaciones permiten 20 pasos por defecto. Establece MAX_PIPELINE_STEPS=0 para dejar el límite en ilimitado.
Biblioteca de archivos
Cada archivo que proceses puede guardarse en tu biblioteca de Archivos. SnapOtter registra el historial de versiones completo para que puedas rastrear cada paso de procesamiento desde la subida original hasta la salida final.
Guardar es explícito: los resultados que guardas en la biblioteca se conservan hasta que los eliminas, mientras que los resultados que procesas y dejas sin guardar se eliminan automáticamente tras 72 horas (configurable mediante FILE_MAX_AGE_HOURS).
API REST y claves de API
Cada herramienta es accesible mediante HTTP:
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_<your-api-key>" \
-F "file=@photo.jpg" \
-F 'settings={"width":800,"height":600,"fit":"cover"}'
Genera claves de API en Ajustes → Claves de API. Consulta la referencia de la API REST para todos los endpoints, o visita http://localhost:1349/api/docs para la referencia interactiva.
Multiusuario y equipos
Habilita varios usuarios con control de acceso basado en roles:
- Administrador: acceso completo, gestiona usuarios, equipos, ajustes, todos los archivos/canalizaciones/claves de API
- Usuario: usa herramientas, gestiona sus propios archivos/canalizaciones/claves de API
Crea equipos en Ajustes → Equipos para agrupar usuarios.
Establece AUTH_ENABLED=true (o false para un solo usuario/uso propio sin inicio de sesión).