hola@amaren.ventures

Infra

Docker, Terraform, monitorización y pipelines de CI/CD.

80 archivos·10 tareas

0% completado

¿Qué es esto?

Todo lo que hace falta para correr BLANK en producción y para que CI pase cada commit. En local es casi todo Docker Compose; en nube es Hetzner con Terraform.

Incluye monitorización completa: Prometheus para métricas, Grafana para dashboards, Loki para logs. Alertas a ntfy.

Los pipelines de GitHub Actions corren tests, linters, migraciones y builds de imágenes. Despliegue por ahora manual.

Stack técnico

  • Docker + Docker Compose
  • Terraform (Hetzner Cloud)
  • Prometheus + Grafana + Loki + Promtail
  • Traefik (gateway + TLS)
  • ntfy (push gratis)
  • GitHub Actions

Estructura de carpetas

infra/
├── docker/              Dockerfiles por servicio
├── terraform/
│   ├── hetzner/         VPS, DNS, firewall
│   └── modules/
├── monitoring/
│   ├── prometheus/
│   ├── grafana/dashboards/
│   └── loki/
├── ci/                  workflows reutilizables
└── scripts/

Archivos clave

ArchivoQué hacePrioridad
docker-compose.yml (raíz)Stack de desarrollo completo.Alta
terraform/hetzner/main.tfVPS, red privada, DNS.Alta
monitoring/prometheus/prometheus.ymlConfig de scraping.Media
monitoring/grafana/dashboards/blank.jsonDashboards base.Media
.github/workflows/ci.ymlCI principal.Media
scripts/health-check.shPing a todos los servicios.Baja

Cómo ejecutarlo

Levantar el stack de infra en local

make docker-up

Bajar todo

make docker-down

Ver estado de Terraform

cd infra/terraform/hetzner && terraform plan

Aplicar cambios de infra (con cuidado)

cd infra/terraform/hetzner && terraform apply

Qué falta

0 de 10 completados
Alta Media Baja

Dependencias con otros módulos

  • Todo el stack local depende del docker-compose.yml raíz.
  • Producción depende de una cuenta de Hetzner y un dominio con DNS delegable.