Skip to content

DietPi-Software | Add HomeBox - #8240

Merged
MichaIng merged 14 commits into
MichaIng:devfrom
Rednox:add-homebox
Aug 31, 2026
Merged

DietPi-Software | Add HomeBox#8240
MichaIng merged 14 commits into
MichaIng:devfrom
Rednox:add-homebox

Conversation

@Rednox

@Rednox Rednox commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

This PR adds HomeBox, a self-hosted home inventory and organisation system, as a DietPi-Software title.

Implementation notes

  • Software ID: 219
  • Category: Cloud & Backup
  • Port: 7745 (HomeBox default; verified no collision with other DietPi software)
  • Architecture support: aarch64, x86_64 only (upstream does not provide 32-bit ARM Linux binaries; RISC-V binaries are experimental, hence disabled)
  • Install method: downloads the latest upstream release tarball, extracts to /opt/homebox
  • Data directory: /mnt/dietpi_userdata/homebox
  • Runtime user: homebox:dietpi
  • API-key pepper: generated once with openssl rand -base64 48, persisted in /mnt/dietpi_userdata/homebox/homebox.env and referenced via EnvironmentFile= in the systemd service. Preserved across reinstalls.
  • Service file: /etc/systemd/system/homebox.service with HBOX_MODE=production, embedded SQLite database in WAL mode, and analytics disabled by default.

Files changed

  • dietpi/dietpi-software – metadata, install/uninstall code
  • dietpi/dietpi-services – register homebox service
  • .github/workflows/update_urls.bash – automated URL update for releases
  • .github/workflows/dietpi-software.bash – CI test entry
  • .meta/dietpi-survey_report – survey name mapping
  • README.md – supported software list

Documentation

Companion docs PR: MichaIng/DietPi-Docs#1213

Test plan

  • dietpi-software list shows HomeBox
  • Fresh install on x86_64
  • Fresh install on aarch64
  • Reinstall preserves homebox.env and database
  • Uninstall removes /opt/homebox and /mnt/dietpi_userdata/homebox
  • 32-bit ARM and RISC-V show HomeBox as unavailable
  • shellcheck passes on changed sections

…rectory

The default file:///?no_tmp_dir=true storage URL caused Homebox to treat
/data as the bucket root, so attachments and collection exports failed with
mkdir /data: permission denied. Point the fileblob driver at the actual
DietPi userdata directory so blobs are created under
/mnt/dietpi_userdata/homebox/data.
@MichaIng MichaIng changed the title DietPi-Software | Add Homebox DietPi-Software | Add HomeBox Aug 5, 2026
@MichaIng

MichaIng commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Some preliminary note: "Homebox" => "HomeBox"
We care about correct letter casing for product/brand names 🙂.

EDIT: And after adding it to our CI (service name and TCP port), we can kick of an installation test on all distro versions and architectures: https://github.com/MichaIng/DietPi/actions/workflows/dietpi-software.yml

Comment thread dietpi/dietpi-software Outdated

@MichaIng MichaIng left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check my comments.

I also enabled it for riscv64. It is experimental because maintainers often have no RISC-V hardware to test. But as a Go application, there is zero reason to assume it wouldn't work like on any other hardware. Also, in any case more users battle-testing it on RISC-V won't hurt. Users with this hardware are very used to experimenting and testing and tinkering 🙂.

Test installs: https://github.com/MichaIng/DietPi/actions/runs/33330606556

Comment thread dietpi/dietpi-software Outdated
Comment thread dietpi/dietpi-software
MichaIng and others added 5 commits August 30, 2026 21:29
If the tar `--one-top-level` value matches the only filename in the tarball exactly, it is not interpreted as directory, but the file is unpacked into the current dir as is. Adding a trailing slash solves this.
Move every HomeBox environment variable (mode, network, logging, analytics, database and storage paths) into /mnt/dietpi_userdata/homebox/homebox.env. The systemd unit now only loads the env-file, so admins can edit all settings transparently and overrides survive reinstalls.

See MichaIng#8240 (comment)
Create the HomeBox runtime user with its own primary group instead of adding it to the dietpi group. This matches the usual DietPi pattern when no access to media/download dirs is required.

See MichaIng#8240 (review)

@MichaIng MichaIng left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGFM

@MichaIng
MichaIng merged commit a86bd61 into MichaIng:dev Aug 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants