Por qué autoalojar Stable Diffusion WebUI en un VPS
Los servicios de generación de imágenes en línea facturan por imagen, limitan la resolución y restringen los contenidos. Al desplegar Stable Diffusion WebUI en su propio VPS, obtiene una interfaz web completa (txt2img, img2img, inpainting, upscaling) que funciona de forma continua y queda accesible para todo su equipo. Instala los checkpoints que quiera (SD 1.5, SDXL, modelos afinados), encadena las extensiones (ControlNet, ADetailer) y genera tantas imágenes como su hardware permita. Un apunte: la generación es pesada; un VPS con GPU ofrece tiempos de renderizado correctos, mientras que un VPS con CPU sigue siendo viable para lotes pequeños o pruebas, a costa de minutos por imagen.
Los beneficios concretos del autoalojamiento
- Generación ilimitada: ningún crédito ni cuota de imágenes al mes.
- Confidencialidad total de los prompts y de los visuales producidos (útil para maquetas de clientes bajo NDA).
- Libertad de modelos: añada cualquier checkpoint, LoRA o VAE con solo depositar el archivo.
- Extensiones a voluntad: ControlNet, ADetailer, Regional Prompter instaladas con un clic.
- API REST integrada para conectar la generación con sus propias herramientas o un flujo por lotes.
- Coste previsible: un precio de VPS fijo en lugar de una facturación por uso que se dispara.
Requisitos de hardware y software
Para una experiencia cómoda, apunte a un VPS con GPU (NVIDIA con al menos 8 GB de VRAM para SDXL; 6 GB bastan para SD 1.5) acompañada de 16 GB de RAM y 4 vCPU. En un VPS solo con CPU, cuente con 8 a 16 GB de RAM como mínimo y acepte renderizados de varios minutos. Prevea 30 a 50 GB de disco solo para los checkpoints (un modelo SDXL pesa ~6,5 GB). En cuanto al software: Ubuntu 22.04 LTS, Python 3.10, git, Docker (recomendado), los controladores NVIDIA + el NVIDIA Container Toolkit si pasa por la GPU, y un nombre de dominio o subdominio (ej.: sd.midominio.com) que apunte a la IP del VPS.
Despliegue paso a paso
Preparar el VPS y la GPU
Conéctese por SSH y actualice el sistema con
apt update && apt upgrade -y. En un VPS con GPU, instale los controladores NVIDIA y verifíquelo connvidia-smi; después instale el NVIDIA Container Toolkit para exponer la GPU a Docker.Obtener una imagen Docker lista para usar
En lugar de instalar las dependencias de Python a mano, parta de una imagen de la comunidad como
ghcr.io/abetlen/stable-diffusion-webui-docker. Cree un archivodocker-compose.ymlque monte un volumen./modelsy exponga el puerto7860, con la directivadeploy.resources.reservations.devicespara la GPU.Depositar un checkpoint
Descargue un modelo (
.safetensors) desde su fuente habitual en./models/Stable-diffusion/. Arranque el stack condocker compose up -dy siga el inicio mediantedocker compose logs -f.Asegurar el acceso
La interfaz no tiene autenticación por defecto. Lance WebUI con el argumento
--api --gradio-auth usuario:contrasenao, mejor, coloque una autenticación HTTP Basic en el reverse proxy.Configurar el reverse proxy y el SSL
Instale Nginx o Caddy. Con Caddy bastan dos líneas:
sd.midominio.com { reverse_proxy localhost:7860 }genera automáticamente un certificado Let's Encrypt. Aumenteproxy_read_timeouta 300s en Nginx, porque los renderizados pueden ser largos.Validar y persistir
Abra
https://sd.midominio.comy lance una primera generación txt2img. Compruebe que la carpetaoutputs/está en un volumen persistente para no perder nada al reiniciar el contenedor.
En un VPS sin GPU, añada los argumentos --use-cpu all --no-half --precision full para evitar los errores ligados a la media precisión, y dé preferencia a SD 1.5 con un sampler rápido (DPM++ 2M Karras, 20 steps) en 512x512. Para aprovechar el procesamiento por lotes sin bloquear la interfaz, utilice la API /sdapi/v1/txt2img desde un script y deje que WebUI procese una cola durante la noche.