aboutsummaryrefslogtreecommitdiffstats
path: root/www/gdrive-photo-gallery
diff options
context:
space:
mode:
authorJan T <jan@jantuomi.fi>2026-07-23 19:24:22 +0300
committerJan Tuomi <jan@jantuomi.fi>2026-07-23 19:26:00 +0300
commitd57b5cd7830a5b4ed1437b1b648dca62a9b6eea3 (patch)
tree85c5e69424dd2fe4c07be9dbb1b4267ee1503c3d /www/gdrive-photo-gallery
*/*: initial commit
Diffstat (limited to 'www/gdrive-photo-gallery')
-rw-r--r--www/gdrive-photo-gallery/Makefile44
-rw-r--r--www/gdrive-photo-gallery/files/gdrive_photo_gallery.in61
-rw-r--r--www/gdrive-photo-gallery/pkg-descr2
3 files changed, 107 insertions, 0 deletions
diff --git a/www/gdrive-photo-gallery/Makefile b/www/gdrive-photo-gallery/Makefile
new file mode 100644
index 0000000..aea1fd3
--- /dev/null
+++ b/www/gdrive-photo-gallery/Makefile
@@ -0,0 +1,44 @@
+PORTNAME= gdrive-photo-gallery
+PORTVERSION= 1.0.0
+CATEGORIES= www
+
+MAINTAINER= jan@jantuomi.fi
+COMMENT= Google Drive photo gallery web app
+
+LICENSE= MIT
+
+USE_GITHUB= yes
+GH_ACCOUNT= jantuomi
+GH_PROJECT= gdrive-photo-gallery
+GH_TAGNAME= d080e8a1e224
+
+NO_CHECKSUM= yes
+NO_ARCH= yes
+NO_BUILD= yes
+
+USES= python:3.12+
+RUN_DEPENDS= ${PYTHON_CMD}:lang/python${PYTHON_SUFFIX} \
+ uv:devel/uv
+
+SUB_LIST= PYTHON_CMD=${PYTHON_CMD}
+
+USE_RC_SUBR= gdrive_photo_gallery
+
+APPDIR= ${PREFIX}/gdrive-photo-gallery
+STAGE_APPDIR= ${STAGEDIR}${APPDIR}
+
+do-install:
+ ${MKDIR} ${STAGE_APPDIR}
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGE_APPDIR})
+
+post-install:
+ @(cd ${STAGEDIR}${PREFIX} && \
+ ${FIND} gdrive-photo-gallery -type f -o -type l | \
+ ${SORT}) >> ${TMPPLIST}
+
+ @(cd ${STAGEDIR}${PREFIX} && \
+ ${FIND} gdrive-photo-gallery -type d | \
+ ${SORT} -r | \
+ ${SED} 's|^|@dir |') >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/www/gdrive-photo-gallery/files/gdrive_photo_gallery.in b/www/gdrive-photo-gallery/files/gdrive_photo_gallery.in
new file mode 100644
index 0000000..cf081f0
--- /dev/null
+++ b/www/gdrive-photo-gallery/files/gdrive_photo_gallery.in
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# PROVIDE: gdrive_photo_gallery
+# REQUIRE: NETWORKING
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="gdrive_photo_gallery"
+rcvar="gdrive_photo_gallery_enable"
+pidfile="/var/run/${name}.pid"
+
+load_rc_config "$name"
+
+: ${gdrive_photo_gallery_enable:="NO"}
+: ${gdrive_photo_gallery_env_file:="%%PREFIX%%/etc/gdrive-photo-gallery.env"}
+: ${gdrive_photo_gallery_data_prefix:="/var/db/gdrive-photo-gallery"}
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+status_cmd="${name}_status"
+
+gdrive_photo_gallery_start()
+{
+ if [ ! -f "${gdrive_photo_gallery_env_file}" ]; then
+ echo "${name}: env file ${gdrive_photo_gallery_env_file} not found"
+ return 1
+ fi
+
+ export PATH="$PATH:%%PREFIX%%/bin"
+ echo "Starting ${name}..."
+
+ . "${gdrive_photo_gallery_env_file}"
+ export GDRIVE_FOLDER GAPI_KEY AUTHOR IG_LINK BASE_URL DATA_PREFIX
+ export DATA_PREFIX="${gdrive_photo_gallery_data_prefix}"
+
+ daemon -p "${pidfile}" -o /var/log/gdrive-photo-gallery.log \
+ %%PREFIX%%/bin/uv run --directory %%PREFIX%%/gdrive-photo-gallery \
+ gunicorn --bind 0.0.0.0:80 app:app -w 1
+}
+
+gdrive_photo_gallery_stop()
+{
+ if [ -f "${pidfile}" ]; then
+ echo "Stopping ${name}..."
+ kill "$(cat "${pidfile}")" 2>/dev/null
+ rm -f "${pidfile}"
+ fi
+}
+
+gdrive_photo_gallery_status()
+{
+ if [ -f "${pidfile}" ] && kill -0 "$(cat "${pidfile}")" 2>/dev/null; then
+ echo "${name} is running as pid $(cat "${pidfile}")"
+ else
+ echo "${name} is not running"
+ return 1
+ fi
+}
+
+run_rc_command "$1"
diff --git a/www/gdrive-photo-gallery/pkg-descr b/www/gdrive-photo-gallery/pkg-descr
new file mode 100644
index 0000000..0522e09
--- /dev/null
+++ b/www/gdrive-photo-gallery/pkg-descr
@@ -0,0 +1,2 @@
+Google Drive photo gallery web application.
+Displays photos from a Google Drive folder as a gallery.