Monitor de
Infraestructura
Aplicación web que monitoriza servidores y servicios de red en tiempo real: comprueba URLs, puertos TCP y conexiones SSH, guarda el histórico y lanza alertas cuando algo cae.
¿Qué hace?
Registras los servicios que quieres vigilar — una URL, un puerto TCP, un servidor SSH — y la aplicación los comprueba automáticamente cada X segundos. Si algo cae, te avisa por Telegram. Toda la actividad queda guardada en base de datos y visible en un dashboard con gráficas de tiempo de respuesta e historial de incidencias.
El motivo de construirlo es que cubre exactamente el stack que piden las ofertas de Python backend junior: API REST, base de datos relacional, tareas en background, contenedores y CI/CD. A diferencia de un CRUD típico, este proyecto tiene múltiples componentes que se tienen que comunicar — lo que demuestra que sabes orquestar un sistema real.
Arquitectura
Todo orquestado con docker compose up — un solo comando levanta los cinco servicios.
Stack técnico
Backend
Base de datos
Frontend
Infraestructura
Fases del proyecto
Fase 1 — MVP local
API con FastAPI, autenticación JWT, CRUD de targets, worker básico que ejecuta checks HTTP y guarda resultados en PostgreSQL.
Fase 2 — Funcionalidades reales
Checks TCP, SSH y ping. Alertas a Telegram. Dashboard con gráficas de Chart.js y refresco parcial con HTMX.
Fase 3 — Containerización
Dockerfiles multi-stage, docker-compose completo con healthchecks. Arranque con un solo comando desde cualquier máquina.
Fase 4 — CI con GitHub Actions
Pipeline que en cada push ejecuta linting (ruff + black), tests con Postgres como service container y publica imágenes a ghcr.io.
Fase 5 — Despliegue en cloud
VM ARM en Oracle Cloud Free Tier, Caddy como reverse proxy con SSL automático, app accesible en URL pública.
Fase 6 — CD completo
Deploy automático en producción con cada merge a main. Push → tests → build → deploy, con notificación del resultado a Telegram.
Lo que estoy aprendiendo
APIs asíncronas con FastAPI
Cómo estructurar una API REST con routers, dependencias, autenticación JWT y documentación automática con Swagger.
ORM y migraciones
SQLAlchemy 2.0 con su nueva API async, modelado relacional y gestión de migraciones con Alembic sin romper producción.
Docker y orquestación
Construir imágenes eficientes con multi-stage builds, networking entre contenedores y gestión de secretos con variables de entorno.
CI/CD con GitHub Actions
Pipelines que validan, construyen y despliegan automáticamente — incluyendo service containers para levantar Postgres en los tests.
El repositorio será público cuando el MVP esté estable.
Hablemos del proyecto