Panel de Beszel monitoreando una VM en Oracle Cloud y un Intel NUC con agentes conectados por WebSocket

Monitoreo ligero para mi homelab y Oracle Cloud con Beszel

Introducción Tengo una VM en Oracle Cloud con varios servicios en Docker (el blog, Nginx Proxy Manager, Umami y WireGuard) y un Intel NUC en casa que hace de servidor doméstico. Hasta ahora, saber cuánta CPU, memoria o disco usaba cada máquina significaba entrar por SSH y ejecutar docker stats o htop. Funciona, pero no deja histórico ni avisa de nada. Quería algo sencillo: un solo panel con las dos máquinas, el estado de los contenedores y un histórico. La opción clásica es Prometheus + Grafana, pero para dos máquinas me pareció demasiado montaje. Así llegué a Beszel. ...

7 de agosto de 2026 · 15 min · Mauro Mejía
Túnel WireGuard cifrado entre un portátil y una VM de Oracle Cloud en Bogotá con salida a internet por IP colombiana

VPN personal con WireGuard en Oracle Cloud: cómo la monté (y qué falló) en mi región de Bogotá

Introducción Hay decenas de tutoriales sobre cómo levantar WireGuard con Docker. La mayoría cubren el “happy path”: copias el docker-compose.yml, corres docker compose up -d y listo. Este post no es solo ese tutorial. Esto es lo que realmente pasó al montar mi propia VPN sobre una VM en Oracle Cloud, región Bogotá, incluyendo el error que me tocó resolver en el camino, y por qué lo hice sobre mi propia infraestructura en lugar de pagar un proveedor comercial. ...

30 de julio de 2026 · 9 min · Mauro Mejía
Auditoría de puertos y política CSP al integrar Umami en un servidor en Oracle Cloud

Umami en Hugo (Parte 2): los problemas que encontré y cómo endurecí mi servidor

En la Parte 1 dejé Umami instalado con Docker, publicado con Nginx Proxy Manager (NPM) y Cloudflare, e integrado con Hugo y PaperMod. En esta segunda parte cuento lo que no salió a la primera y, sobre todo, lo que descubrí al revisar mi propia infraestructura. Problemas que encontré y cómo los resolví 1. El script no llegaba: la Content Security Policy Todo parecía correcto: el script estaba en el HTML y respondía 200 desde la VM. Pero el panel mostraba todo en cero. ...

25 de julio de 2026 · 5 min · Mauro Mejía
Umami en Docker publicado con Nginx Proxy Manager y Cloudflare, integrado con un blog en Hugo

Cómo instalé Umami con Docker para tener analítica web privada en Hugo (Parte 1)

Introducción: por qué necesitaba algo más que Cloudflare Quería responder dos preguntas sencillas sobre mi blog: qué posts se leen más y de dónde llegan los lectores. Cloudflare ya me daba estadísticas básicas (visitas, páginas, países), pero se quedaba corto para entender el contenido y el origen del tráfico. Además, quería conservar el histórico en mi propia base de datos. Por eso probé Umami. Este artículo tiene dos partes: Parte 1 (este artículo): qué es Umami, cómo lo instalé con Docker, cómo lo publiqué y cómo lo integré con Hugo y PaperMod. Parte 2: los problemas que encontré (una política CSP que bloqueaba el script y un puerto expuesto sin querer), el endurecimiento de seguridad y los siguientes pasos. Instalar un servicio nuevo terminó siendo una excusa para auditar lo que ya tenía expuesto, y eso lo cuento en la Parte 2. ...

23 de julio de 2026 · 6 min · Mauro Mejía
Errores de configuración

7 Errores de Configuración que Comprometen tu Seguridad en la Nube (y Cómo Evitarlos)

Introducción Los errores de configuración siguen siendo una de las causas más explotadas de brechas de seguridad, y no porque sean sofisticados de atacar, sino porque casi siempre son fáciles de detectar desde afuera. En la nube el problema se agrava: un solo firewall mal configurado o una Service Account con permisos de sobra puede exponer todo un entorno. Si ya revisaste los principios generales del modelo de responsabilidad compartida y CSPM en la Parte 1, este artículo baja un nivel más: los 7 errores concretos que veo con más frecuencia, cómo se traducen en GCP y OCI, y casos reales que muestran su impacto. ...

30 de abril de 2026 · 9 min · Mauro Mejía
Es necesario proteger tus datos en la nube. No se debe dar por entendido que el proveedor es quien protege tu información

Ciberseguridad en la Nube con OCI (Parte 3): Prácticas Concretas para Equipos Técnicos

En la Parte 1 vimos los pilares generales del modelo de responsabilidad compartida. En la Parte 2 los aterrizamos en GCP. Ahora le toca a Oracle Cloud Infrastructure, y el mensaje de fondo no cambia: Oracle asegura la nube, tú aseguras lo que corre en ella. OCI tiene su propio vocabulario para resolver los mismos problemas que ya viste en GCP: identidad, detección de misconfiguraciones, cifrado, y red. Si vienes de AWS o GCP, algunos términos te van a sonar raros al principio — Compartments, Dynamic Groups, Security Zones — pero la lógica de fondo es la misma que veníamos armando en la serie. Vamos por partes. ...

28 de abril de 2026 · 9 min · Mauro Mejía
Discrepancia de espacio en disco (df -h) en Oracle Cloud

Por qué el espacio de tu instancia de Oracle Cloud (OCI) "desaparece"

Sigo trabajando con instancias en Oracle Cloud Infrastructure (OCI), en mi caso instancias ARM (Ampere A1) dentro del Free Tier. Una de ellas quedó configurada así: Sistema operativo: Oracle Linux CPU: 2 cores RAM: 12 GB Boot Volume: 100 GB Al revisar el sistema, el espacio disponible en disco era de apenas ~50 GB, aunque el volumen asignado era de 100 GB. En este artículo explico por qué pasa esto y cómo solucionarlo. ...

6 de abril de 2026 · 3 min · Mauro Mejía
Diagrama de arquitectura de seguridad inicial en Oracle Cloud

Estrenando la Región Bogotá en Oracle Cloud: Aseguramiento Inicial

Cómo preparé mi entorno de nube en Colombia Hace poco di el paso de crear una nueva cuenta (tenant) en Oracle Cloud Infrastructure (OCI). Lo interesante es que, por primera vez, estoy desplegando recursos directamente en la región Colombia Central (Bogotá). No busco migrar todo mi laboratorio a la nube. Sigo siendo fiel a mi Home Lab local, mi Intel NUC. Lo que quiero es un enfoque híbrido: la latencia mínima de tener la nube “en casa” combinada con la potencia de la infraestructura de Oracle. ...

31 de marzo de 2026 · 5 min · Mauro Mejía