diff options
-rw-r--r-- | GIDs | 2 | ||||
-rw-r--r-- | UIDs | 2 | ||||
-rw-r--r-- | finance/Makefile | 1 | ||||
-rw-r--r-- | finance/homebox/Makefile | 53 | ||||
-rw-r--r-- | finance/homebox/distinfo | 7 | ||||
-rw-r--r-- | finance/homebox/files/homebox.in | 33 | ||||
-rw-r--r-- | finance/homebox/pkg-descr | 18 |
7 files changed, 114 insertions, 2 deletions
@@ -778,7 +778,7 @@ beehive:*:832: pocket-id:*:834: filebrowser:*:835: tinyauth:*:836: -# free: 837 +homebox:*:837: # free: 838 # free: 839 netdisco:*:840: @@ -784,7 +784,7 @@ beehive:*:832:832::0:0:beehive user:/nonexistent:/usr/sbin/nologin pocket-id:*:834:834::0:0:OIDC provider that allows users to authenticate with their passkeys:/var/db/pocket-id:/usr/sbin/nologin filebrowser:*:835:835::0:0:Web File Browser:/var/db/filebrowser:/usr/sbin/nologin tinyauth:*:836:836::0:0:Simplest way to protect your apps with a login screen:/nonexistent:/usr/sbin/nologin -# free: 837 +homebox:*:837:837::0:0:Inventory and organization system built for the Home User:/var/db/homebox:/usr/sbin/nologin # free: 838 # free: 839 netdisco:*:840:840::0:0:netdisco daemon:/usr/local/etc/netdisco:/bin/sh diff --git a/finance/Makefile b/finance/Makefile index 3bc8bbd91aab..636d68dbf6f0 100644 --- a/finance/Makefile +++ b/finance/Makefile @@ -36,6 +36,7 @@ SUBDIR += gnucash-docs SUBDIR += grisbi SUBDIR += homebank + SUBDIR += homebox SUBDIR += hs-hledger SUBDIR += hs-hledger-ui SUBDIR += hs-hledger-web diff --git a/finance/homebox/Makefile b/finance/homebox/Makefile new file mode 100644 index 000000000000..82e6f3bea236 --- /dev/null +++ b/finance/homebox/Makefile @@ -0,0 +1,53 @@ +PORTNAME= homebox +DISTVERSIONPREFIX= v +DISTVERSION= 0.20.2 +CATEGORIES= finance +MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/ +DISTFILES= ${PORTNAME}-${DISTVERSION}.frontend${EXTRACT_SUFX} + +MAINTAINER= dtxdf@FreeBSD.org +COMMENT= Inventory and organization system built for the Home User +WWW= https://homebox.software + +LICENSE= AGPLv3 + +USES= go:modules +USE_GITHUB= yes +GH_ACCOUNT= sysadminsmedia + +USE_RC_SUBR= ${PORTNAME} + +GO_MOD_DIST= github +GO_MODULE= github.com/sysadminsmedia/${PORTNAME} +GO_TARGET= ./app/api:${PORTNAME} +GO_BUILDFLAGS= -ldflags "\ + -X 'main.commit=${GITID}' \ + -X 'main.buildTime=${BUILD_TIME}' \ + -X 'main.version=${DISTVERSIONPREFIX}${DISTVERSION}'" + +SUB_LIST= USER=${USERS:[1]} + +WRKSRC_SUBDIR= backend + +USERS= ${HOMEBOX_USER} +GROUPS= ${HOMEBOX_GROUP} + +PLIST_FILES= bin/${PORTNAME} \ + "@dir(${HOMEBOX_USER},${HOMEBOX_GROUP},0700) /var/db/${PORTNAME}" + +# Run 'git checkout ${DISTVERSIONPREFIX}${DISTVERSION} && git rev-parse HEAD' +# in the Homebox repository to get the value of GITID. +GITID= bd604f5867defe38d66a476226546f65f5e0e223 + +HOMEBOX_USER= ${PORTNAME} +HOMEBOX_GROUP= ${HOMEBOX_USER} + +pre-build: + @${RM} -r ${WRKSRC}/app/api/static/public + @${MKDIR} ${WRKSRC}/app/api/static/public + @cd ${WRKDIR}/homebox-frontend && ${COPYTREE_SHARE} . ${WRKSRC}/app/api/static/public + +post-install: + @${MKDIR} ${STAGEDIR}/var/db/${PORTNAME} + +.include <bsd.port.mk> diff --git a/finance/homebox/distinfo b/finance/homebox/distinfo new file mode 100644 index 000000000000..e8a102eb4311 --- /dev/null +++ b/finance/homebox/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1751649092 +SHA256 (go/finance_homebox/sysadminsmedia-homebox-v0.20.2_GH0/homebox-0.20.2.frontend.tar.gz) = a40b4c1d24f89317f73d1dcbdb066091cf7d0f2d6d5dc6555bec2ff974886193 +SIZE (go/finance_homebox/sysadminsmedia-homebox-v0.20.2_GH0/homebox-0.20.2.frontend.tar.gz) = 937158 +SHA256 (go/finance_homebox/sysadminsmedia-homebox-v0.20.2_GH0/go.mod) = 396b62476859e771e2683d03a3acef10d15bbcea10f7db86fc6bba99529f5e13 +SIZE (go/finance_homebox/sysadminsmedia-homebox-v0.20.2_GH0/go.mod) = 10316 +SHA256 (go/finance_homebox/sysadminsmedia-homebox-v0.20.2_GH0/sysadminsmedia-homebox-v0.20.2_GH0.tar.gz) = e541fb4e807d061525afded4e574ed53f846d3390d459b9d5b5eec9c145d5330 +SIZE (go/finance_homebox/sysadminsmedia-homebox-v0.20.2_GH0/sysadminsmedia-homebox-v0.20.2_GH0.tar.gz) = 1161314 diff --git a/finance/homebox/files/homebox.in b/finance/homebox/files/homebox.in new file mode 100644 index 000000000000..6a7d71438e3e --- /dev/null +++ b/finance/homebox/files/homebox.in @@ -0,0 +1,33 @@ +#!/bin/sh + +# PROVIDE: homebox +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Configuration settings for homebox in /etc/rc.conf +# +# homebox_enable (bool): Enable homebox. +# homebox_log (str): Log output. +# homebox_runas (str): User to run homebox as. +# homebox_args (str): Arguments used by homebox. +# + +. /etc/rc.subr + +name="homebox" +desc="Inventory and organization system built for the Home User" +rcvar="${name}_enable" + +load_rc_config $name + +: ${homebox_enable:="NO"} +: ${homebox_log:="/var/log/homebox.log"} +: ${homebox_runas:="%%USER%%"} +: ${homebox_args="--mode production --storage-conn-string file:///var/db/homebox/ --database-sqlite-path '/var/db/homebox/homebox.db?_pragma=busy_timeout=999&_pragma=journal_mode=WAL&_fk=1&_time_format=sqlite'"} + +pidfile="/var/run/${name}.pid" +procname="/usr/local/bin/${name}" +command="/usr/sbin/daemon" +command_args="-c -u '${homebox_runas}' -p '${pidfile}' -t '${desc}' -o '${homebox_log}' '${procname}' ${homebox_args}" + +run_rc_command "$1" diff --git a/finance/homebox/pkg-descr b/finance/homebox/pkg-descr new file mode 100644 index 000000000000..cee5a150ee2e --- /dev/null +++ b/finance/homebox/pkg-descr @@ -0,0 +1,18 @@ +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. While developing this project, I've tried to keep the following +principles in mind: + +- Simple - Homebox is designed to be simple and easy to use. No +complicated setup or configuration required. Use either a single +docker container, or deploy yourself by compiling the binary for +your platform of choice. + +- Blazingly Fast - Homebox is written in Go, which makes it extremely +fast and requires minimal resources to deploy. In general, idle +memory usage is less than 50MB for the whole container. + +- Portable - Homebox is designed to be portable and run on anywhere. +We use SQLite and an embedded Web UI to make it easy to deploy, +use, and backup. |