**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](https://hay-kot.github.io/homebox/quick-start/) !!! warning "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](https://docs.bunny-lab.io/Docker %26 Kubernetes/Docker/Docker Compose/Authentik/) or [Keycloak](https://docs.bunny-lab.io/Docker%20%26%20Kubernetes/Docker/Docker%20Compose/Keycloak/). ## Docker Configuration ```jsx title="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 ``` ```jsx title=".env" HBOX_MAILER_HOST=mail.bunny-lab.io HBOX_MAILER_PORT=587 HBOX_MAILER_USERNAME=noreply@bunny-lab.io HBOX_MAILER_PASSWORD=REDACTED HBOX_MAILER_FROM=noreply@bunny-lab.io ``` ## 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. ``` yaml 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 ```