# Límites técnicos

> Tamaños, tiempos y frecuencias máximos de cada parte de Dilohost (publicar, subir código, apps, datos, dominios, correo y la cuenta), con lo que conviene hacer al llegar a cada uno.

Estos son los límites técnicos de la plataforma. Son iguales en todos los planes y existen para que un error o un abuso no afecte a nadie más. Lo que cambia de un plan a otro (cuántos proyectos, apps, bases de datos, dominios o buzones tienes, cuánto disco y cuántas publicaciones al día) está en [Planes y precios](/docs/cuenta/planes).

Cuando llegas a un límite, la herramienta responde con un error que explica qué ha pasado y qué hacer (`error` y `que_hacer`). Tu agente te lo contará con sus palabras.

## Publicar

| Qué | Límite | Si lo superas |
|---|---|---|
| Publicar con `deploy.publish` y `files` (texto en la propia petición) | 400 ficheros y 8 MB por publicación | Sube el proyecto con git, desde tu repositorio o en un zip. Ver [Formas de subir el código](/docs/publicar/subir-codigo) |
| Primer build de una app | 60 minutos | El build se corta. `deploy.status` explica qué lo alargaba en `para_que_tarde_menos` |
| Builds siguientes | 25 minutos | Lo mismo. Con la caché ya llena suelen tardar de segundos a pocos minutos |
| Build en modo compatible (se repite solo, una vez, si el rápido falla) | El triple del plazo normal, como mucho 2 horas | — |
| Versiones a las que puedes volver sin reconstruir | Las 10 últimas de cada app | Las más antiguas se pueden volver a publicar desde su código |
| Puerto de la app | La app escucha en la variable `PORT` (8080) | Si no, no arranca. Ver [Apps con servidor](/docs/publicar/apps) |

## Subir el código

| Qué | Límite |
|---|---|
| Credencial de git (`deploy.git_remote`) | Vale 1 hora y solo para el repositorio de esa app. Como mucho 5 vivas a la vez por app (pedir otra anula la más antigua) |
| Peticiones de git con una misma credencial | 120 por minuto |
| Tamaño del repositorio de una app | 1 GB. Por encima no admite más `git push` ni importaciones |
| Ramas | Solo se publica `main`. Las demás ramas y etiquetas no se guardan |
| Zip (`upload`) | 200 MB comprimido |
| Contenido del zip | 1 GB descomprimido, 20.000 ficheros y 100 MB por fichero |
| Enlace o formulario de subida | Caduca a los 15 minutos y sirve para una sola subida |
| Subidas abiertas a la vez | 3 por cuenta |

Del zip se descartan siempre `.git`, `__MACOSX`, los ficheros `.env` con secretos (salvo `.env.example`, `.env.sample` y `.env.dist`) y lo que diga tu `.gitignore`. No se admiten enlaces simbólicos.

## Apps en marcha

| Qué | Límite |
|---|---|
| Registros (`app.logs`) | Hasta 300 líneas por consulta (100 si no dices cuántas) |
| Estadísticas de visitas (`app.traffic`) | De 1 a 14 días hacia atrás (7 si no dices cuántos) |
| Comandos (`app.run`) | Solo una lista cerrada de comandos de mantenimiento, como migraciones. No hay acceso a una terminal |
| Tareas programadas (`jobs.add_cron`) | Formato cron de 5 campos, hora de Madrid, como mucho cada 5 minutos |
| Disco persistente de una app | 512 MB si no dices otra cosa. Se amplía con `app.disk` hasta 20 GB por disco, nunca se reduce |

## Datos

| Qué | Límite |
|---|---|
| Enlaces de descarga de copias (`backup.download_link`) | Valen 1 hora |
| Enlaces de ficheros (`storage.upload_url`, `storage_read.download_url`) | Valen 1 hora. Ruta de hasta 512 caracteres, relativa al bucket |
| Exportar un proyecto (`project.export`) | Los enlaces de la exportación valen 1 hora y el zip se borra a los 2 días |
| Proyectos borrados | Se guardan 30 días en la papelera. Ver [Papelera y bajas](/docs/cuenta/papelera-y-bajas) |

El espacio total de bases de datos y de almacenamiento depende del plan. Al llegar al 80 % de lo que permite tu plan te avisamos. Si una base supera claramente su espacio, se le corta el acceso hasta que ocupe menos o cambies de plan.

## Dominios y DNS

| Qué | Límite |
|---|---|
| Dar de alta dominios que ya tienes (`domain.connect`) | 20 al día por cuenta |
| Verificar un dominio traído | 7 días para poner el registro TXT. Si cambias los nameservers, 30 días para que se vea el cambio |
| Búsquedas de dominios | 20 por minuto y cuenta, solo en planes de pago |
| Certificados HTTPS de un dominio | Como mucho 5 nuevos al día por dominio |
| TTL de los registros DNS | Entre 60 y 86.400 segundos (3.600 si no dices otro) |

## Correo

| Qué | Límite |
|---|---|
| Espacio de cada buzón | 5 GB |
| Alias por buzón | 10 |
| Contraseña de un buzón | Al menos 12 caracteres |

## Cuenta y equipo

| Qué | Límite |
|---|---|
| Cambios en una cuenta (todo lo que no es solo lectura) | 60 por minuto |
| Peticiones al servidor MCP | 120 por minuto y persona |
| Invitaciones al equipo | 20 al día por cuenta |
| Tokens de servicio | 20 activos por cuenta, con caducidad de 1 a 365 días |
| Peticiones de funciones (`feature_request`) | 10 nuevas al día por cuenta |
| Código de confirmación | Caduca a los 10 minutos y sirve una sola vez |

## Relacionado

- [Planes y precios](/docs/cuenta/planes)
- [Servidor MCP](/docs/referencia/servidor-mcp)
- [Solución de problemas](/docs/ayuda/problemas)
