Solución de problemas
Web falla con open Dockerfile: no such file or directory
En la Application Web, guarda Docker File = Dockerfile.web, Docker Context
Path = . y deja Docker Build Stage vacío. Después vuelve a desplegar.
Puse el Compose en Docker Context Path
Ese campo recibe una carpeta. API se configura como un servicio Compose, con
Compose Path = ./docker-compose.backend.yml. Web usa una Application con
contexto .. Consulta los campos de Dokploy.
API muestra «Services not found» al crear el dominio
Comprueba que el archivo Compose esté publicado en la rama y ruta configuradas.
Guarda el proveedor y revisa Preview Compose. Para el dominio, puedes pulsar
Manual y escribir api con puerto 3001. Worker no recibe dominio.
API pide FILES_VOLUME_NAME
Define el nombre del volumen en Environment y activa Create Environment File.
Compose lo crea si no existe y lo comparte entre api y worker. Para recuperar
archivos anteriores, usa el nombre de su volumen; crear uno nuevo no copia sus datos.
El build tarda mucho
Revisa qué etapa consume el tiempo: descarga de dependencias, compilación o arranque. API y Worker comparten etapas de build; Web mantiene caché de Next. Las etapas previas se reutilizan mientras el builder conserve sus datos. Una instalación inicial o una limpieza de caché puede requerir descargas completas.
Un reinicio de Worker puede esperar a que terminen trabajos. El límite por defecto
es 15m, configurable mediante WORKER_STOP_GRACE_PERIOD; no es una espera fija de build.
app.tudominio.com muestra el sitio público en vez del panel
Falta PORTAL_HOST en el servicio Web, o no coincide exactamente con el host. Va sin
esquema ni puerto: app.tudominio.com.
El formulario de acceso dice que no pudo cargar la verificación
Turnstile no tiene autorizado ese dominio. Añádelo en la lista de dominios del widget en Cloudflare, o desactiva el captcha mientras lo arreglas.
Los archivos se ven pero no tienen miniatura
El Worker no está procesando, o no comparte volumen con la API. Comprueba que ambos montan el mismo volumen en la misma ruta interna y revisa los registros del Worker. En Dokploy están en el Compose de API, dentro de Containers → worker.
Las publicaciones se quedan en la cola
Mira Admin → Operación → Tareas programadas. Si «fallados» crece, el Worker está
recogiendo pero fallando: sus registros dicen por qué. Si no se mueve nada, comprueba
Redis en /v1/health.
Un canal dejó de publicar
El token caducó. Es normal: los proveedores los revocan al cambiar la contraseña o al expirar el permiso. Reconecta el canal desde el Portal.
Los correos no llegan
Prueba el envío desde Admin → Integraciones → Correo. Si la prueba llega y las invitaciones no, mira si el correo del destinatario existe. Si la prueba tampoco llega, el problema es el SMTP.
El sitio público no muestra precios
No hay planes activos. Créalos en Admin → Facturación → Planes y márcalos activos.
Todo el sitio público da error 500
Consulta los registros de Web y comprueba la salud de API. Verifica también que sus versiones usan un contrato compatible. Una API temporalmente inaccesible debe dejar vacías las secciones dinámicas del sitio público, sin impedir que cargue la página.
Cambié algo en Admin y el sitio sigue igual
Purga la cache en Admin → Operación → Cache. Es seguro y no borra datos.