¿Tienes tantos dispositivos que ya no sabes si ese disco duro polvoriento está donde crees que está o lo has perdido? ¿Eres de los que guarda las garantías en cajas de zapatos con la ilusión de encontrar algo cuando lo necesitas? Pues ha llegado la hora de poner orden, y Homebox viene al rescate ayudándote a hacer inventario, pero sin juzgarte.

Vamos a ver cómo desplegar Homebox usando Docker y Docker Compose apoyándose en Traefik para servir de certificados SSL, acompañado de unos comentarios para que sepas qué está haciendo cada línea (y no lo lances a ciegas como quien instala sin leer la letra pequeña). En tu caso, para Traefik, deberás cambiar “homebox.local.nshlab.de” por tu domino.

🛠️ El docker-compose.yml de la gloria

services:
  homebox:
    image: ghcr.io/sysadminsmedia/homebox:latest  # Imagen oficial más reciente de Homebox
#   image: ghcr.io/sysadminsmedia/homebox:latest-rootless  # Alternativa sin root, más segura
    container_name: homebox  # Nombre del contenedor personalizado
    restart: unless-stopped  # Reinicia el contenedor a menos que se detenga manualmente
    environment:
    environment:
      - HBOX_LOG_LEVEL=${HOMEBOX_LOG_LEVEL}  # Nivel de log (debug, info, warn...), definido en el archivo .env
      - HBOX_LOG_FORMAT=${HOMEBOX_LOG_FORMAT}  # Formato del log (text o json), definido en el archivo .env
      - HBOX_WEB_MAX_UPLOAD_SIZE=${HOMEBOX_WEB_MAX_UPLOAD_SIZE}  # Tamaño máximo de subida vía web, definido en .env
      - HBOX_MAILER_HOST=${HOMEBOX_SMTP_ADDRESS}  # Dirección del servidor SMTP, tomada del archivo .env
      - HBOX_MAILER_PORT=${HOMEBOX_SMTP_PORT}  # Puerto del SMTP, definido en .env
      - HBOX_MAILER_USERNAME=${HOMEBOX_SMTP_USER_NAME}  # Usuario para el servidor SMTP, desde .env
      - HBOX_MAILER_PASSWORD=${HOMEBOX_SMTP_PASSWORD}  # Contraseña SMTP, almacenada en el archivo .env
      - HBOX_MAILER_FROM=${HOMEBOX_EMAIL_FROM}  # Correo del remitente en los emails, definido en .env
    volumes:
      - homebox-data:/data/  # Monta un volumen persistente en /data del contenedor
    ports:
      - 3100:7745  # Expone el puerto 7745 del contenedor en el 3100 del host
    labels:
      - "traefik.docker.network=traefik-network"  # Red de Traefik a la que se conecta este servicio
      - "traefik.enable=true"  # Habilita Traefik para este contenedor
      - "traefik.http.routers.homebox.entrypoints=http"  # Punto de entrada HTTP
      - "traefik.http.routers.homebox.rule=Host(`homebox.local.nshlab.de`)"  # Regla de host para enrutar
      - "traefik.http.middlewares.homebox-https-redirect.redirectscheme.scheme=https"  # Redirección automática a HTTPS
      - "traefik.http.routers.homebox.middlewares=homebox-https-redirect"  # Aplica la redirección a HTTPS
      - "traefik.http.routers.homebox-secure.entrypoints=https"  # Punto de entrada HTTPS
      - "traefik.http.routers.homebox-secure.rule=Host(`homebox.local.nshlab.de`)"  # Regla segura de host HTTPS
      - "traefik.http.routers.homebox-secure.tls=true"  # Habilita TLS para HTTPS
      - "traefik.http.routers.homebox-secure.service=homebox"  # Servicio al que se conecta esta ruta segura
      - "traefik.http.services.homebox.loadbalancer.server.port=7745"  # Puerto interno que maneja Homebox
      - "traefik.docker.network=proxy"  # Traefik debe usar esta red Docker llamada "proxy"

networks:
  proxy:
    external: false  # Red Docker local (no externa)

volumes:
  homebox-data:
    driver: local  # Tipo de volumen local, persistente

Si no quieres certifcado SSL, elimina la todas las líneas de “labels” y en la red usa la de tu entorno y quita la de proxy.

📁 El .env, con comentarios en Spanish

HOMEBOX_IMAGE_TAG=ghcr.io/sysadminsmedia/homebox:latest  # Imagen que se usará para el contenedor
HOMEBOX_HOSTNAME=@nosolohacking.info  # Dirección de correo (opcional) o dominio asociado
HBOX_OPTIONS_ALLOW_REGISTRATION=true  # Permite que los usuarios se registren (o no)
HBOX_OPTIONS_AUTO_INCREMENT_ASSET_ID=true  # Activa IDs automáticos para activos (te ahorra contar)
HOMEBOX_LOG_LEVEL=info  # Nivel de detalle de los logs (debug, info, warn, error…)
HOMEBOX_LOG_FORMAT=text  # Formato de los logs: "text" o "json"
HOMEBOX_WEB_MAX_UPLOAD_SIZE=20  # Tamaño máximo en MB de los archivos que se pueden subir
HOMEBOX_SMTP_ADDRESS=smtp@gmail.com  # Dirección del servidor SMTP (para enviar correos)
HOMEBOX_SMTP_PORT=587  # Puerto SMTP, 587 suele ser el más común con STARTTLS
HOMEBOX_SMTP_USER_NAME=homebox@nosolohacking.info  # Usuario para autenticación SMTP
HOMEBOX_SMTP_PASSWORD=Ci6oFSiXddLNkWuTobstuE  # Contraseña para enviar correos (¡ojo con esto!)
HOMEBOX_EMAIL_FROM=homebox@nosolohacking.info  # Dirección que aparecerá como remitente

Ahora ejecuta:

chmod 600 .env

🧪 ¿Y ahora qué?

  1. Guarda el docker-compose.yml y el .env en la misma carpeta.
  2. Abre terminal y ve a esa carpeta.
  3. Lanza la magia:
docker compose up -d

Y voilá, tu Homebox estará en marcha. Si todo ha ido bien, abre http://IPServidor:3100 si usas Traefik con tu dominio si te va el rollo pro, usa la entrada DNS que generaste.

🧾 Resumen pa’ los que no leen

  • Desplegamos Homebox con Docker + Docker Compose.
  • Configuramos los logs, subidas y SMTP desde un .env.
  • Incluimos soporte para Traefik, con HTTPS redirigido como dios manda.
  • Te dimos comentarios en español porque los contenedores también merecen amor bilingüe.

¿Y ahora qué? Pues toca inventariar. Registra tus cacharros, adjunta garantías y empieza a ser el señor del orden digital que tu router necesita. ¡Nos leemos en el siguiente tutorial, container-lover! 🚀

Vídeo

https://youtu.be/0SdzqkVH284