Guía, Recursos y Preguntas Frecuentes

Guía de instalación, gestión de certificados TLS (autofirmados o proporcionados), buenas prácticas de despliegue y respuestas a preguntas frecuentes.

Instalación detallada

Esta guía completa el "Quick Install" de la página principal con pasos adicionales útiles en producción.

Requisitos

  • Docker (v20+) y Docker Compose
  • Acceso shell al servidor
  • Puerto 10443 (HTTPS) abierto si se necesita acceso remoto
  • Opcional: certificados TLS válidos o reverse-proxy

Pasos

# 1) Descargar y extraer
wget -qO- https://dmon.fr/download/Dmon_latest.tar | tar -xvf -

# 2) Entrar en la carpeta y arrancar
cd Dmon && docker compose up --build -d

# 3) Acceder a la interfaz
https://tu-servidor:10443

Actualización

  1. Detener el contenedor antiguo: docker compose down
  2. Obtener la nueva versión (archivo o repositorio)
  3. Recrear: docker compose up --build -d

Desinstalación

docker compose down --volumes --remove-orphans
# Eliminar archivos locales si es necesario
rm -rf /path/to/Dmon

Certificados autofirmados

Si no dispone de un certificado firmado por una autoridad, Dmon puede usar un certificado autofirmado. Este cifra la conexión (HTTPS) pero no será reconocido como "confiable" por los navegadores.

Qué verás

  • Un candado rojo o tachado o un icono de advertencia en la barra de direcciones.
  • Una página de advertencia indicando que el certificado no es válido.

Qué hacer

Puedes omitir la advertencia y continuar al sitio ("Avanzado" → "Aceptar el riesgo y continuar" en Firefox, o "Continuar al sitio (no seguro)" en Chrome).

Aun cuando el navegador muestre una advertencia, la conexión está cifrada: los datos viajan por TLS. El problema es la falta de validación por un tercero confiable. Para producción, use un certificado emitido por una AC (Let's Encrypt, AC interna o certificado comercial).

Usar tus propios certificados

Puedes proporcionar tus propios certificados (Let's Encrypt, AC interna, comercial). Ejemplos según tu arquitectura:

1 - Añadir certificados en la carpeta del proyecto

Coloca tu certificado y clave privada en /certs/ del proyecto.

Los archivos deben llamarse key.pem y cert.pem.

2 - Modificar docker-compose.yml

Descomenta la línea: - ./certs:/app/certs:ro para sobrescribir los certificados autofirmados.

# docker-compose.yml (extracto)
services:
  services:
  dmon:
    build: .
    container_name: Dmon
    restart: unless-stopped
    ports:
      - "10443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /proc:/host/proc:ro

# Uncomment the following line if you have placed your own certificates in the /certs directory
# Leave commented if using self-generated certificates
    #  - ./certs:/app/certs:ro
    - ./certs:/app/certs:ro       <-----------

FAQ — Preguntas Frecuentes

P — ¿Por qué mi navegador muestra una advertencia TLS?

R — Porque el certificado presentado por el servidor es autofirmado (o no coincide con el dominio). Los navegadores solicitan validación por una autoridad de certificación reconocida. Puedes omitir la advertencia para uso privado, pero para un servicio público usa Let's Encrypt o un certificado válido.

P — ¿Mis datos están cifrados?

R — Sí. El cifrado TLS funciona: los datos entre el navegador y el servidor que ejecuta tus contenedores Docker viajan cifrados. Un certificado autofirmado afecta sólo a la confianza (autenticación), no al cifrado.

P — ¿Puedo usar Dmon sin Docker?

R — Dmon está diseñado para ejecutarse en contenedores. Ejecutarlo fuera de contenedores (Node.js nativo) es posible pero no está incluido por defecto.

P — ¿Dmon envía datos externos?

R — No. Dmon es open-source y no recopila datos. Solo puede enviar ocasionalmente una petición para comprobar nuevas versiones.

P — ¿Qué puertos son necesarios?

R — Por defecto Dmon escucha en el puerto 10443 para HTTPS. Puedes modificarlo en docker-compose.yml: ports: - "10443:443" (u otro).

P — ¿Dónde reportar un error o pedir una función?

R — Abre un issue en el repositorio GitHub del proyecto (ver la página principal para el enlace). Describe el contexto, versiones y logs.