75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| **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
 | |
| ```yaml 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
 | |
| ```
 | |
| 
 | |
| ```yaml 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
 | |
| ``` |