aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>2025-06-08 22:15:03 +0000
committerJesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>2025-06-08 23:44:14 +0000
commite363737e1d9c3c5201eec48912ab6e4235dfa597 (patch)
tree640cd8490addecbdaf015363ea68b7ed3219c02b
parenta57f84cb4688ebe5310769a8af82d08b4b596e99 (diff)
www/filebrowser: New port: Web File Browser
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. Approved by: acm (mentor)
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--www/Makefile1
-rw-r--r--www/filebrowser/Makefile49
-rw-r--r--www/filebrowser/distinfo7
-rw-r--r--www/filebrowser/files/filebrowser.in37
-rw-r--r--www/filebrowser/pkg-descr5
-rw-r--r--www/filebrowser/pkg-plist4
8 files changed, 105 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index 3fc3924d2aae..b0271f70bf90 100644
--- a/GIDs
+++ b/GIDs
@@ -776,7 +776,7 @@ cirrus:*:828:
beehive:*:832:
# free: 833
# free: 834
-# free: 835
+filebrowser:*:835:
# free: 836
# free: 837
# free: 838
diff --git a/UIDs b/UIDs
index 0fafe9507d27..5e8e47d09136 100644
--- a/UIDs
+++ b/UIDs
@@ -782,7 +782,7 @@ cirrus:*:828:828::0:0:Cirrus CI:/usr/local/cirrus:/bin/sh
beehive:*:832:832::0:0:beehive user:/nonexistent:/usr/sbin/nologin
# free: 833
# free: 834
-# free: 835
+filebrowser:*:835:835::0:0:Web File Browser:/var/db/filebrowser:/usr/sbin/nologin
# free: 836
# free: 837
# free: 838
diff --git a/www/Makefile b/www/Makefile
index d25b1f546142..5d3ac472cf76 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -185,6 +185,7 @@
SUBDIR += ffproxy
SUBDIR += ffsend
SUBDIR += fgallery
+ SUBDIR += filebrowser
SUBDIR += filtron
SUBDIR += firedm
SUBDIR += firefox
diff --git a/www/filebrowser/Makefile b/www/filebrowser/Makefile
new file mode 100644
index 000000000000..d4674cd49cc2
--- /dev/null
+++ b/www/filebrowser/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= filebrowser
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.32.0
+CATEGORIES= www
+MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
+DISTFILES= ${PORTNAME}-${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= 3d6c5152fe22a4a47783253a3506a2930b7b6be3
+
+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..c5f63b723742
--- /dev/null
+++ b/www/filebrowser/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1749425548
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-2.32.0.frontend.tar.gz) = 23bbc7ed38c938c4898f7c32ee723e3b43b9da31376b94b1950368675d67b073
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-2.32.0.frontend.tar.gz) = 2285999
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/go.mod) = cf1d0745e69a807fc30e7a90b7c25817bdd0480d0606d6ade04af3eb9fbc3a19
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/go.mod) = 3047
+SHA256 (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-filebrowser-v2.32.0_GH0.tar.gz) = 61e9de6b2d396614f45be477e5bb5aad189e7bb1155a3f88800e02421bd6cc2b
+SIZE (go/www_filebrowser/filebrowser-filebrowser-v2.32.0_GH0/filebrowser-filebrowser-v2.32.0_GH0.tar.gz) = 3817831
diff --git a/www/filebrowser/files/filebrowser.in b/www/filebrowser/files/filebrowser.in
new file mode 100644
index 000000000000..2e6dbb3ff346
--- /dev/null
+++ b/www/filebrowser/files/filebrowser.in
@@ -0,0 +1,37 @@
+#!/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_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_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}"
+
+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