summaryrefslogtreecommitdiff
path: root/www/filebrowser
diff options
context:
space:
mode:
Diffstat (limited to 'www/filebrowser')
-rw-r--r--www/filebrowser/Makefile49
-rw-r--r--www/filebrowser/distinfo7
-rw-r--r--www/filebrowser/files/filebrowser.in49
-rw-r--r--www/filebrowser/pkg-descr5
-rw-r--r--www/filebrowser/pkg-plist4
5 files changed, 114 insertions, 0 deletions
diff --git a/www/filebrowser/Makefile b/www/filebrowser/Makefile
new file mode 100644
index 000000000000..5d481b595090
--- /dev/null
+++ b/www/filebrowser/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= filebrowser
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.37.0
+CATEGORIES= www
+MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
+DISTFILES= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.frontend${EXTRACT_SUFX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Web File Browser
+WWW= https://filebrowser.org
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules
+USE_GITHUB= yes
+
+USE_RC_SUBR= ${PORTNAME}
+
+GO_MOD_DIST= github
+GO_MODULE= github.com/filebrowser/${PORTNAME}
+GO_BUILDFLAGS= -ldflags "\
+ -X 'github.com/filebrowser/${PORTNAME}/v2/version.Version=${DISTVERSION}' \
+ -X 'github.com/filebrowser/${PORTNAME}/v2/version.CommitSHA=${GITID}'"
+
+SUB_LIST= USER=${USERS:[1]}
+
+USERS= ${FILEBROWSER_USER}
+GROUPS= ${FILEBROWSER_GROUP}
+
+PLIST_SUB= GROUP=${GROUPS:[1]} \
+ USER=${USERS:[1]}
+
+# Run 'git checkout ${DISTVERSIONPREFIX}${DISTVERSION} && git rev-parse HEAD'
+# in the File Browser repository to get the value of GITID.
+GITID= 0614dcd89b4da02af7d36cdc4a830c29e20b190c
+
+FILEBROWSER_USER= ${PORTNAME}
+FILEBROWSER_GROUP= ${FILEBROWSER_USER}
+
+pre-build:
+ @cd ${WRKDIR}/filebrowser-frontend && ${COPYTREE_SHARE} . ${WRKSRC}/frontend/dist
+
+post-install:
+.for dir in run log db
+ @${MKDIR} ${STAGEDIR}/var/${dir}/${PORTNAME}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/www/filebrowser/distinfo b/www/filebrowser/distinfo
new file mode 100644
index 000000000000..82ad820c7e79
--- /dev/null
+++ b/www/filebrowser/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1752167744
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.37.0_GH0/filebrowser-v2.37.0.frontend.tar.gz) = 729c510a83506eff091034a13b2faf10d027450f2e5759e8f5d887f344977b63
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.37.0_GH0/filebrowser-v2.37.0.frontend.tar.gz) = 2314107
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.37.0_GH0/go.mod) = cae0996f40b96e0141ed01cb5ce8fa10f8e6127f4969a8ffabbe86756ca82894
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.37.0_GH0/go.mod) = 2796
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.37.0_GH0/filebrowser-filebrowser-v2.37.0_GH0.tar.gz) = d4a67f6c531098b4c6c0a07e0ee9fc7607aab1467052747d9468aeda1c1b98f3
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.37.0_GH0/filebrowser-filebrowser-v2.37.0_GH0.tar.gz) = 5270612
diff --git a/www/filebrowser/files/filebrowser.in b/www/filebrowser/files/filebrowser.in
new file mode 100644
index 000000000000..576b99086e83
--- /dev/null
+++ b/www/filebrowser/files/filebrowser.in
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# PROVIDE: filebrowser
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for File Browser in /etc/rc.conf
+#
+# filebrowser_enable (bool): Enable File Browser. (default=NO)
+# filebrowser_port (int): Port to listen on. (default=8080)
+# filebrowser_address (str): Address to listen on. (default=0.0.0.0)
+# filebrowser_database (str): Database path. (default=/var/db/filebrowser/filebrowser.db)
+# filebrowser_log (str): Log output. (default=/var/log/filebrowser/filebrowser.log)
+# filebrowser_wwwdir (str): Root to prepend to relative paths. (default=%%WWWDIR%%)
+# filebrowser_runas (str): User to run File Browser as. (default=%%USER%%)
+#
+
+. /etc/rc.subr
+
+name="filebrowser"
+desc="Web File Browser"
+rcvar="${name}_enable"
+
+load_rc_config $name
+
+: ${filebrowser_enable:="NO"}
+: ${filebrowser_port:="8080"}
+: ${filebrowser_address:="0.0.0.0"}
+: ${filebrowser_database:="/var/db/filebrowser/filebrowser.db"}
+: ${filebrowser_log:="/var/log/filebrowser/filebrowser.log"}
+: ${filebrowser_wwwdir:="%%WWWDIR%%"}
+: ${filebrowser_runas:="%%USER%%"}
+
+pidfile="/var/run/${name}/${name}.pid"
+procname="%%LOCALBASE%%/bin/${name}"
+command="/usr/sbin/daemon"
+command_args="-c -u ${filebrowser_runas} -p ${pidfile} -t \"${desc}\" ${procname} -d ${filebrowser_database} -p ${filebrowser_port} -a ${filebrowser_address} -l ${filebrowser_log} -r ${filebrowser_wwwdir}"
+start_precmd="filebrowser_prestart"
+
+filebrowser_prestart()
+{
+ if [ ! -d "${filebrowser_wwwdir}" ]; then
+ mkdir -p "${filebrowser_wwwdir}" &&
+ chown ${filebrowser_runas} "${filebrowser_wwwdir}" &&
+ chmod 0750 "${filebrowser_wwwdir}"
+ fi
+}
+
+run_rc_command "$1"
diff --git a/www/filebrowser/pkg-descr b/www/filebrowser/pkg-descr
new file mode 100644
index 000000000000..bd84b881ee53
--- /dev/null
+++ b/www/filebrowser/pkg-descr
@@ -0,0 +1,5 @@
+File Browser provides a file managing interface within a specified
+directory and it can be used to upload, delete, preview, rename and
+edit your files. It allows the creation of multiple users and each
+user can have its own directory. It can be used as a standalone
+app.
diff --git a/www/filebrowser/pkg-plist b/www/filebrowser/pkg-plist
new file mode 100644
index 000000000000..a65ad90d0693
--- /dev/null
+++ b/www/filebrowser/pkg-plist
@@ -0,0 +1,4 @@
+@dir(%%USER%%,%%GROUP%%,0700) /var/db/filebrowser
+@dir(%%USER%%,%%GROUP%%,0700) /var/log/filebrowser
+@dir(%%USER%%,%%GROUP%%,0700) /var/run/filebrowser
+bin/filebrowser