Skip to content

Homebox

Purpose: Homebox is the inventory and organization system built for the Home User! With a focus on simplicity and ease of use, Homebox is the perfect solution for your home inventory, organization, and management needs.

Reference Documentation

Protect with Keycloak

The GitHub project for this software appears to have been archived in a read-only state in June 2024. There is no default admin credential, so setting the environment variable HBOX_OPTIONS_ALLOW_REGISTRATION to false will literally make you unable to log into the system. You also cannot change it after-the-fact, so you cannot just register an account then disable it and restart the container, it doesn't work that way.

Due to this behavior, it is imperative that you deploy this either only internally, or if its external, put it behind something like Authentik or Keycloak.

Docker Configuration

docker-compose.yml
version: "3.4"

services:
  homebox:
    image: ghcr.io/hay-kot/homebox:latest
    container_name: homebox
    restart: always
    environment:
    - HBOX_LOG_LEVEL=info
    - HBOX_LOG_FORMAT=text
    - HBOX_WEB_MAX_UPLOAD_SIZE=10
    - HBOX_MODE=production
    - HBOX_OPTIONS_ALLOW_REGISTRATION=true
    - HBOX_WEB_MAX_UPLOAD_SIZE=50
    - HBOX_WEB_READ_TIMEOUT=20
    - HBOX_WEB_WRITE_TIMEOUT=20
    - HBOX_WEB_IDLE_TIMEOUT=60
    - HBOX_MAILER_HOST=${HBOX_MAILER_HOST}
    - HBOX_MAILER_PORT=${HBOX_MAILER_PORT}
    - HBOX_MAILER_USERNAME=${HBOX_MAILER_USERNAME}
    - HBOX_MAILER_PASSWORD=${HBOX_MAILER_PASSWORD}
    - HBOX_MAILER_FROM=${HBOX_MAILER_FROM}
    volumes:
      - /srv/containers/homebox:/data/
    ports:
      - 7745:7745
    networks:
        docker_network:
          ipv4_address: 192.168.5.25
networks:
  docker_network:
    external: true
.env
HBOX_MAILER_HOST=mail.bunny-lab.io
HBOX_MAILER_PORT=587
[email protected]
HBOX_MAILER_PASSWORD=REDACTED
[email protected]

Traefik Reverse Proxy Configuration

If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below.

http:
  routers:
    homebox:
      entryPoints:
        - websecure
      tls:
        certResolver: letsencrypt
      http2:
      service: homebox
      rule: Host(`box.bunny-lab.io`)
      middlewares:
        - "auth-bunny-lab-io"  # Referencing the Keycloak Server
  services:
    homebox:
      loadBalancer:
        servers:
          - url: http://192.168.5.25:7745
        passHostHeader: true