From 536bdf801e554495513ffe230bbeb238e410459f Mon Sep 17 00:00:00 2001 From: oqyude Date: Wed, 15 Jul 2026 22:41:23 +0300 Subject: [PATCH] homebox added --- modules/server/coredns.nix | 2 ++ modules/server/default.nix | 1 + modules/server/gitea.nix | 1 + modules/server/homebox.nix | 44 ++++++++++++++++++++++++++++++++++++++ modules/server/nginx.nix | 10 +++++++++ 5 files changed, 58 insertions(+) create mode 100644 modules/server/homebox.nix diff --git a/modules/server/coredns.nix b/modules/server/coredns.nix index 1266dcb..bd532a1 100644 --- a/modules/server/coredns.nix +++ b/modules/server/coredns.nix @@ -15,6 +15,7 @@ 192.168.1.20 flux.zeroq.su 192.168.1.20 git.zeroq.su 192.168.1.20 glances.zeroq.su + 192.168.1.20 homebox.home.arpa 192.168.1.20 immich.zeroq.su 192.168.1.20 kuma.zeroq.su 192.168.1.20 nextcloud.zeroq.su @@ -38,6 +39,7 @@ 192.168.1.20 git.home.arpa 192.168.1.20 glances.home.arpa 192.168.1.20 home.arpa + 192.168.1.20 homebox.home.arpa 192.168.1.20 immich.home.arpa 192.168.1.20 kuma.home.arpa 192.168.1.20 nextcloud.home.arpa diff --git a/modules/server/default.nix b/modules/server/default.nix index d5ec7d5..37aa47a 100644 --- a/modules/server/default.nix +++ b/modules/server/default.nix @@ -12,6 +12,7 @@ ./coredns.nix ./gitea.nix ./glances.nix + ./homebox.nix ./immich.nix ./miniflux.nix ./nextcloud.nix diff --git a/modules/server/gitea.nix b/modules/server/gitea.nix index bf7bc6b..2ea1ce4 100644 --- a/modules/server/gitea.nix +++ b/modules/server/gitea.nix @@ -23,6 +23,7 @@ }; systemd.tmpfiles.rules = [ + "d ${config.services.gitea.stateDir} 0755 gitea gitea -" "z ${config.services.gitea.stateDir} 0755 gitea gitea -" ]; } diff --git a/modules/server/homebox.nix b/modules/server/homebox.nix new file mode 100644 index 0000000..25e6db7 --- /dev/null +++ b/modules/server/homebox.nix @@ -0,0 +1,44 @@ +{ + config, + pkgs, + xlib, + ... +}: +let + configDir = "${xlib.dirs.services-mnt-folder}/homebox"; + varDir = "/var/lib/homebox"; +in +{ + services.homebox = { + enable = true; + settings = { + HBOX_WEB_HOST = "0.0.0.0"; + HBOX_WEB_PORT = "7745"; + HBOX_STORAGE_CONN_STRING = "file://${varDir}"; + HBOX_STORAGE_PREFIX_PATH = "data"; + HBOX_DATABASE_DRIVER = "sqlite3"; + HBOX_DATABASE_SQLITE_PATH = "${varDir}/data/homebox.db?_pragma=busy_timeout=999&_pragma=journal_mode=WAL&_fk=1"; + HBOX_OPTIONS_ALLOW_REGISTRATION = "true"; + HBOX_OPTIONS_GITHUB_RELEASE_CHECK = "false"; + HBOX_MODE = "production"; + HOME = "${varDir}"; + TMPDIR = "${varDir}/tmp"; + }; + }; + + systemd.tmpfiles.rules = [ + "d ${configDir} 0755 homebox homebox -" + "z ${configDir} 0755 homebox homebox -" + ]; + + fileSystems = { + "${varDir}" = { + device = "${configDir}"; + fsType = "none"; + options = [ + "bind" + "nofail" + ]; + }; + }; +} diff --git a/modules/server/nginx.nix b/modules/server/nginx.nix index 776c584..ea6e831 100644 --- a/modules/server/nginx.nix +++ b/modules/server/nginx.nix @@ -77,6 +77,16 @@ in client_max_body_size 5G; ''; }; + "homebox.home.arpa" = { + forceSSL = true; + enableACME = true; + locations = { + "/" = { + proxyPass = "http://127.0.0.1:7745"; + proxyWebsockets = true; + }; + }; + }; "nextcloud.home.arpa" = { forceSSL = true; enableACME = true;