BookinglyTech News
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.

2 min de lecturar/selfhosted0 vistas

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:

  1. 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).
  2. 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.
  3. Clonar y montar la aplicación

    • git clone <repo> en la partición SSD.
    • Ajustar las rutas de volúmenes en docker‑compose.yml para apuntar al HDD.
    • docker compose up -d.
  4. 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 mkcert o usar un CA interno de AD.
    • Montar los certificados en el contenedor del proxy.
  5. Respaldos

    • Crear tareas programadas en PowerShell o Task Scheduler que:
      • Dump de Postgres con pg_dump.
      • Copia de los directorios de MinIO.
  6. 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: mkcert crea 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.