Infraestructura
Implementar una pila Dockerizada Node/React/Postgres/MinIO en Windows Server 2022
Una guía práctica paso a paso para desplegar, asegurar y respaldar una aplicación web en un servidor Lenovo ThinkSystem ST50 V3 con Windows Server 2022.
Roadmap de despliegue
Para llevar una aplicación que ya corre en Docker‑Compose a un servidor on‑premise con Windows Server 2022, el flujo es el siguiente:
Preparar el host
- Asignar una IP estática.
- Formatear y montar el SSD de 500 GB (sistema y contenedores) y el HDD de 2 TB (volúmenes persistentes de Postgres y MinIO).
Instalar el runtime
- Instalar WSL 2 o Hyper‑V.
- Instalar Docker Engine (no Docker Desktop) y Docker Compose.
- Habilitar el servicio de Docker para que arranque en modo automático.
- Instalar Git para clonar el repositorio.
Clonar y montar la aplicación
git clone <repo>en la partición SSD.- Ajustar las rutas de volúmenes en
docker‑compose.ymlpara apuntar al HDD. docker compose up -d.
Configurar red y TLS
- Lanzar un contenedor de reverse proxy (Nginx, Caddy o Traefik).
- Exponer 80/443 y redirigir al backend Node/React.
- Generar certificados locales con
mkcerto usar un CA interno de AD. - Montar los certificados en el contenedor del proxy.
Respaldos
- Crear tareas programadas en PowerShell o Task Scheduler que:
- Dump de Postgres con
pg_dump. - Copia de los directorios de MinIO.
- Dump de Postgres con
- Crear tareas programadas en PowerShell o Task Scheduler que:
Acceso remoto
- Opciones sencillas: Tailscale, WireGuard o Cloudflare Tunnel.
- Configurar el túnel para exponer el puerto 80/443 al exterior.
Detalles técnicos
- WSL 2 vs Hyper‑V: WSL 2 ofrece rendimiento nativo y menor consumo de recursos; Hyper‑V permite aislamiento de máquinas virtuales completas, pero aumenta la complejidad.
- Docker Engine: La versión 24.x soporta la última sintaxis de Compose y tiene mejoras de seguridad.
- Certificados locales:
mkcertcrea una CA raíz que la mayoría de los navegadores internos aceptan sin advertencias. Si la red está integrada con AD, usar el CA interno evita la instalación manual en cada cliente. - Persistencia: Montar volúmenes de Postgres y MinIO en el HDD evita que el contenedor pierda datos al actualizar la imagen.
Por qué importa
Implementar esta pila con Docker en Windows Server 2022 mantiene la consistencia con entornos de desarrollo, reduce la huella de hardware y permite un manejo sencillo de dependencias. El uso de un reverse proxy con TLS interno evita problemas de seguridad y facilita la transición a acceso remoto sin exponer el servidor directamente a Internet.
