|

Desplegando chalanitadas:~# en Docker con Nginx Proxy Manager

¡Bienvenidos a chalanitadas:~#!

Inauguro esta bitácora técnica compartiendo un resumen de cómo he desplegado y configurado este propio blog. La idea del proyecto es disponer de un espacio personal en modo oscuro con estética de terminal/desarrollo para ir documentando guías, proyectos de infraestructura, scripts de automatización e incidencias del día a día.

1. Arquitectura de la infraestructura

El servicio corre en un entorno contenerizado local bajo la siguiente pila tecnológica:

  • Motor CMS: WordPress ejecutándose sobre Docker.
  • Proxy Inverso: Nginx Proxy Manager (NPM) para la gestión centralizada del tráfico y enrutamiento SSL.
  • DNS Dinámico: DuckDNS para mantener la resolución del dominio apuntando a la IP pública de forma automática.
  • Certificados de Seguridad: SSL/TLS automático gestionado con Let’s Encrypt mediante desafío HTTP/DNS.

2. Despliegue con Docker Compose

El stack de WordPress y la base de datos se levantan con un archivo docker-compose.yml aislado dentro de la red interna de Docker:

services:
  db:
    image: mariadb:10.6
    container_name: wordpress_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: tu_password_root_segura
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: tu_password_usuario_segura
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    container_name: wordpress_app
    restart: always
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress_user
      WORDPRESS_DB_PASSWORD: tu_password_usuario_segura
      WORDPRESS_DB_NAME: wordpress_db
    volumes:
      - wp_data:/var/www/html

volumes:
  db_data:
  wp_data:

3. Enrutamiento y SSL

Una vez que el contenedor responde localmente, el Proxy Inverso expone el servicio al exterior encargándose de:

  1. Redirigir las peticiones HTTP (:80) hacia HTTPS (:443).
  2. Forzar las cabeceras X-Forwarded-For y X-Forwarded-Proto para que WordPress detecte correctamente la conexión cifrada tras el proxy.
  3. Renovación automática de certificados SSL.

Reflexión final y próximos pasos

Montar este entorno no solo ha sido un ejercicio práctico de infraestructura y contenedores, sino también el primer paso para tener un espacio propio donde documentar el día a día sin depender de plataformas de terceros. A veces nos complicamos la vida levantando proxies, redes en Docker y certificados para «un simple blog», pero la satisfacción de tener el control total de tu pila tecnológica y que todo funcione fino no tiene precio.

A partir de aquí, utilizaré chalanitadas:~# como libreta de campo: iré subiendo desde soluciones a pequeños marrones técnicos e incidencias del trabajo, hasta scripts útiles, pruebas en el home lab y avances de mis proyectos personales.

¡Nos leemos en las próximas entradas!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *