ToolsOps

Herramientas DevOps

Docker Compose, healthchecks, cron y configuración operativa para entornos locales. Las herramientas corren en tu navegador y los ejemplos enlazan a guías de stacks reales.

Para quién es esta colección

Pensada para estudiantes, perfiles de IT, devops e ingenieros que montan servicios en local con Docker Compose, programan tareas con cron y necesitan validar configuración antes de copiarla a un repositorio. No es una landing de marketing: es un punto de partida operativo que conecta cada herramienta con la guía que explica el caso de uso real.

Todas las utilidades procesan tu configuración en el navegador. El YAML que generas o validas no se envía a un servidor. Puedes confirmarlo abriendo DevTools en la pestaña Network mientras usas cada herramienta.

Herramientas principales

Las dos piezas centrales del flujo DevOps local: definir servicios con Docker Compose y programar cuándo se ejecutan las tareas.

Generador y validador de Docker Compose

Generador y validador de Docker Compose con 8 presets, healthcheck builder y lint práctico sobre el compose.yaml que pegas.

  • Genera servicios con volúmenes con nombre, healthchecks y puertos atados a localhost.
  • Valida un compose.yaml existente y señala problemas habituales antes del deploy.
  • Construye healthchecks correctos por servicio sin memorizar la sintaxis.

Abrir generador de Docker Compose →

Generador de expresiones cron

Generador de expresiones cron Unix/POSIX con dialectos Quartz y AWS, vista de próximas ejecuciones y avisos de dialecto.

  • Construye la expresión a partir de minutos, horas y días sin equivocarte con los campos.
  • Previsualiza las próximas ejecuciones para confirmar la frecuencia.
  • Explica la semántica OR de día-del-mes y día-de-la-semana de POSIX.

Abrir generador de cron →

Herramientas relacionadas

Secundarias dentro del flujo: útiles para revisar configuración estructurada antes de pegarla, sin competir con las dos principales.

Flujos habituales

Cada flujo enlaza la herramienta que lo resuelve con la guía que explica el detalle y los errores que evita.

Guías de Docker Compose

Biblioteca de stacks reales explicados, del healthcheck básico a monitorización. Cada guía incluye el compose.yaml, los puertos seguros y el error concreto que evita.

Errores que evita

Los fallos recurrentes al montar servicios en local. Las herramientas y las guías de arriba están pensadas para no caer en ellos.

  • Usar localhost dentro de un contenedor

    Dentro de un servicio, localhost es el propio contenedor, no el host ni otro servicio. Los servicios se conectan por su nombre en la red de Compose.

  • Exponer la base de datos a Internet

    Publicar el puerto de Postgres o Redis como 5432:5432 lo abre en todas las interfaces. Átalo a 127.0.0.1 cuando solo lo necesitas en local.

  • depends_on sin healthcheck

    depends_on espera a que el contenedor arranque, no a que el servicio esté listo. Sin condition: service_healthy verás ECONNREFUSED al inicio.

  • Secretos en claro

    Las contraseñas escritas en el compose.yaml acaban en el repositorio. Usa variables con .env y versiona solo un .env.example sin valores reales.

  • Etiqueta :latest

    latest cambia sin avisar y rompe builds reproducibles. Fija una versión concreta de la imagen para que el stack sea estable.

  • Cron en la zona horaria equivocada

    Un cron que se ejecuta a las 2:00 lo hace en la zona del sistema o del contenedor. Verifica la timezone antes de confiar en la hora.

Checklist DevOps local

Repaso rápido antes de dar por bueno un stack local.

PuntoQué verificar
Volumen con nombreLos datos persisten entre reinicios y no quedan en un volumen anónimo.
Healthcheck realCada servicio crítico comprueba que está listo, no solo que arrancó.
Puertos a 127.0.0.1Lo que publicas en local se ata a loopback, no a todas las interfaces.
.env fuera de gitVersionas .env.example sin valores; el .env real está en .gitignore.
Imagen con versión fijadaNada de :latest; una etiqueta concreta para builds reproducibles.
Logs y verificaciónSabes con qué comando ver logs y confirmar que el servicio responde.

Preguntas frecuentes

¿Docker Compose sirve para producción?
Compose es ideal para desarrollo local y stacks de un solo host. Para producción con varias máquinas, alta disponibilidad o escalado, se usan orquestadores como Kubernetes o servicios gestionados. Muchos equipos usan Compose en local y otra cosa en producción.
¿Por qué no exponer bases de datos a Internet?
Una base de datos con el puerto abierto y credenciales débiles se compromete en minutos por escaneo automático. Si solo la necesitas en local, ata el puerto a 127.0.0.1; si la necesitas remota, ponla detrás de una red privada o un túnel, nunca abierta a todas las interfaces.
¿Qué diferencia hay entre healthcheck y depends_on?
depends_on define el orden de arranque: espera a que el contenedor del que dependes se inicie. El healthcheck comprueba que el servicio está realmente listo (acepta conexiones). Combinando depends_on con condition: service_healthy, tu app no arranca hasta que la base de datos responde.
¿Cómo se conectan los servicios entre sí?
Compose crea una red interna donde cada servicio es accesible por su nombre. Una app se conecta a la base de datos usando el nombre del servicio (por ejemplo db:5432), no localhost ni una IP. No hace falta publicar el puerto para que otro servicio del mismo Compose lo alcance.
¿Cuándo usar cron dentro o fuera de un contenedor?
Para tareas del host (backups, rotación de logs del sistema) usa el cron del host. Para tareas ligadas a la app (limpiezas, informes) suele ser más limpio un contenedor o un scheduler de la propia app, porque comparte dependencias y variables. En ambos casos, verifica la zona horaria.
¿Por qué usar .env.example?
El .env.example documenta qué variables necesita el stack sin filtrar valores reales: se versiona en git como plantilla. El .env con las credenciales de verdad queda fuera de git (.gitignore). Así cualquiera clona el repo, copia el ejemplo y rellena sus propios secretos.