Homebox
I'm going to give Homebox a go since SnipeIt is just a bit too powerful and I'd spend too much time just fussing and administering it.
Create Virtual Machine
Steps performed on HV-03 via Windows Admin Center
- I navigate to
Virtual Machines
- I click on
Add
thenNew
- Name:
HOMEBOX-01
- Generation:
2 (Recommended)
- Virtual Processors:
2
- Memory:
2GB
- Network:
Default External Switch
- Isolation Mode:
Default (None)
- Storage:
New Disk
- Size:
40GB
- Select
Install Operating System Later
- Click
Create
- Name:
- Select
HOMEBOX-01
- Click on
Settings
- Navigate to
Disk
- Select
Add Disk
- Select
Use an existing virtual hard disk or ISO image file
- I load my Debian ISO
- I click
Save disk settings
- Select
- Navigate to
Boot Order
DVD
Hard Disk
Network Adapter
- I click
Save boot order settings
- I navigate to
Security
- I check
Enable Secure Boot
- Template:
Microsoft UEFI Certificate Authority
- Click
Save security settings
- I check
- I click
Save
- Navigate to
- Click on
Power
and thenStart
Install Operating System
Steps performed on HOMEBOX-01
- I walk through the Debian installation wizard
- When the wizard has finished I reboot
Configure Operating System
Configure Sudo
Steps performed on HOMEBOX-01
apt install sudo
/sbin/adduser david sudo
Adding user 'david' to group 'sudo' ...
Done
Configure Network
Steps performed on HOMEBOX-01
nano /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 10.10.10.XXX
gateway 10.10.10.254
netmask 255.255.255.0
- I save the
interfaces
file systemctl restart networking
Steps performed on DC-02 via Windows Admin Center
- I navigate to
DNS
- I select
domain.local
- I click
Create a new DNS Record
- DNS Record Type:
Host (A)
- Record Name:
HOMEBOX
- FQDN:
HOMEBOX.domain.local
- IP Address:
10.10.10.XXX
- Time to live:
3600
- I click
Save
- DNS Record Type:
Configure SSH Key
Steps performed on desktop via Windows Terminal
ssh-keygen -t ed25519
Move-Item -Path c:\Users\david\filename* -Destination c:\Users\david\.ssh -Force
- I open Windows Terminal
Settings
- I open the
JSON
file and add the following:
{
"colorScheme": "Ubuntu-ColorScheme",
"commandline": "ssh -i \"~/.ssh/example\" [email protected]",
"experimental.retroTerminalEffect": false,
"font":
{
"face": "Cascadia Code"
},
"guid": "{0caa0dad-35be-5f56-a8ff-XXXXXXXXXXXX}",
"hidden": false,
"name": "HOMEBOX-01",
"tabTitle": "HOMEBOX-01"
},
- I make sure the
GUID
is unique and save theJSON
file
Configure SSH
Steps performed on HOMEBOX-01
mkdir /home/david/.ssh
nano /home/david/.ssh/authorized_keys
- I paste in the public key and save
chmod 600 /home/david/.ssh/authorized_keys
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PubkeyAuthentication yes
PubkeyAcceptedKeyTypes ssh-ed25519
PasswordAuthentication no
AuthorizedKeysFile /home/david/.ssh/authorized_keys
- I save the
sshd_config
file sudo sshd -t
sudo systemctl restart ssh
Configure UFW
Steps performed on HOMEBOX-01
sudo apt install ufw
sudo ufw allow 22
sudo ufw allow 3100
sudo ufw enable
Configure Fail2Ban
Steps performed on HOMEBOX-01
sudo apt install fail2ban
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 100m
findtime = 5m
maxretry = 5
ignoreip = 10.10.10.XXX
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
- I save the file
jail.local
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Install Homebox Dependencies
Steps performed on HOMEBOX-01
sudo apt install docker
sudo apt install docker-compose
Install Homebox
Steps performed on HOMEBOX-01
sudo mkdir /apps
sudo mkdir /apps/homebox
cd /apps/homebox
sudo nano 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
volumes:
- homebox-data:/data/
ports:
- 3100:7745
volumes:
homebox-data:
driver: local
- I save the
docker-compose.yml
file sudo docker-compose pull
sudo docker-compose up -d
I browse to http://homebox.domain.local:3100
in Firefox to test. The login page loads successfully! I can't find any documentation for a default login or admin account so I just go ahead and register one. Everything seems to be working just fine. The documentation does note that once you've signed up all the accounts you want, you will need to close registration. This is done by including the setting HBOX_OPTIONS_ALLOW_REGISTRATION
to the docker-compose.yml
file.
Other than that I guess I just have to start putting everything we own into Homebox now. That will be quite a project.