Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 May 2026 20:56:47 +0000
From:      =?utf-8?Q?Jes=C3=BAs?= Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 691c3cc94979 - main - www/zen: New port: Lightweight self-hosted notes application
Message-ID:  <6a175a8f.22e52.23080588@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by dtxdf:

URL: https://cgit.FreeBSD.org/ports/commit/?id=691c3cc94979648c7a5f3b6d7bc0b656beea04da

commit 691c3cc94979648c7a5f3b6d7bc0b656beea04da
Author:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2026-05-27 20:55:01 +0000
Commit:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2026-05-27 20:56:16 +0000

    www/zen: New port: Lightweight self-hosted notes application
    
    zen is a self-hosted notes application.
    
    Features:
    
    - Single Go binary.
    - Low resource usage.
    - Standard Markdown files, local SQLite database.
    - Organize with flexible tags, not rigid folders.
    - Markdown features like tables, code blocks, task lists, highlights, and more.
    - Full-text search with BM25 ranking.
    - Import and export data with full portability.
    - Templates.
    - Pinned notes.
    - Archive and soft delete notes.
    - Minimal dependency footprint.
    - Automated backups.
    
    WWW: https://www.sheshbabu.com/zen/
---
 www/Makefile         |  1 +
 www/zen/Makefile     | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 www/zen/distinfo     |  7 +++++++
 www/zen/files/zen.in | 31 +++++++++++++++++++++++++++++++
 www/zen/pkg-descr    | 16 ++++++++++++++++
 5 files changed, 101 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 53fd5e1d8465..65cdc1ef5d6b 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2778,6 +2778,7 @@
     SUBDIR += youtube
     SUBDIR += yt-dlp
     SUBDIR += yuicompressor
+    SUBDIR += zen
     SUBDIR += zenphoto
     SUBDIR += zerowait-httpd
     SUBDIR += zgrab2
diff --git a/www/zen/Makefile b/www/zen/Makefile
new file mode 100644
index 000000000000..f6dca68a7b6d
--- /dev/null
+++ b/www/zen/Makefile
@@ -0,0 +1,46 @@
+PORTNAME=	zen
+DISTVERSION=	1.5.0
+CATEGORIES=	www
+MASTER_SITES=	LOCAL/dtxdf/${PORTNAME}/:assets
+# For instructions on how to create assets:
+#   https://github.com/DtxdF/port-assets-makejails/tree/main/zen
+DISTFILES=	${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.frontend${EXTRACT_SUFX}:assets \
+		${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.vendor${EXTRACT_SUFX}:assets
+
+MAINTAINER=	dtxdf@FreeBSD.org
+COMMENT=	Lightweight self-hosted notes application
+WWW=		https://www.sheshbabu.com/zen/ \
+		https://github.com/sheshbabu/zen
+
+LICENSE=	AGPLv3
+LICENSE_FILE=	${WRKSRC}/license.md
+
+USES=		go:1.25+,modules
+USE_GITHUB=	yes
+GH_ACCOUNT=	sheshbabu
+
+USE_RC_SUBR=	${PORTNAME}
+
+GO_BUILDFLAGS=	-tags fts5
+
+SUB_LIST=	USER=${ZEN_USER}
+
+PLIST_SUB=	GROUP=${ZEN_USER} \
+		USER=${ZEN_GROUP}
+
+PLIST_FILES=	bin/${PORTNAME} \
+		"@dir(${ZEN_USER},${ZEN_GROUP},) /var/db/${PORTNAME}"
+
+ZEN_USER=	www
+ZEN_GROUP=	${ZEN_USER}
+
+post-extract:
+	@${MKDIR} ${WRKSRC}/vendor
+	@cd ${WRKDIR}/${PORTNAME}-vendor && ${COPYTREE_SHARE} . ${WRKSRC}/vendor
+	@${MKDIR} ${WRKSRC}/assets
+	@cd ${WRKDIR}/${PORTNAME}-frontend && ${COPYTREE_SHARE} . ${WRKSRC}/assets
+
+post-install:
+	@${MKDIR} ${STAGEDIR}/var/db/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/zen/distinfo b/www/zen/distinfo
new file mode 100644
index 000000000000..4d1b68195e8e
--- /dev/null
+++ b/www/zen/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1779913521
+SHA256 (zen-1.5.0.frontend.tar.gz) = f2560d63ebb67477384367b5b8072acccb797eb9ee14a63c1bdb4ceac292c33b
+SIZE (zen-1.5.0.frontend.tar.gz) = 409775
+SHA256 (zen-1.5.0.vendor.tar.gz) = cb5a04329f780f188944515caba2254c1251552fb2e1bb83242dba7fa143cae9
+SIZE (zen-1.5.0.vendor.tar.gz) = 2641524
+SHA256 (sheshbabu-zen-1.5.0_GH0.tar.gz) = 075b106d378f9c6a4b9eb134a2c9495b0532642f0502e6b6d1729bc04095506b
+SIZE (sheshbabu-zen-1.5.0_GH0.tar.gz) = 649959
diff --git a/www/zen/files/zen.in b/www/zen/files/zen.in
new file mode 100755
index 000000000000..9fa622e595dc
--- /dev/null
+++ b/www/zen/files/zen.in
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# PROVIDE: zen
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for Zen in /etc/rc.conf
+#
+# zen_enable (bool):         Enable Zen. (default=NO)
+# zen_runas (str):           User to run Zen as. (default=%%USER%%)
+# zen_env_file (str):        Path containing the environment variables.
+#
+
+. /etc/rc.subr
+
+name="zen"
+desc="Lightweight self-hosted notes application"
+rcvar="${name}_enable"
+
+load_rc_config $name
+
+: ${zen_enable:="NO"}
+: ${zen_runas:="%%USER%%"}
+
+zen_chdir="/var/db/${name}"
+pidfile="/var/run/${name}.pid"
+procname="%%LOCALBASE%%/bin/${name}"
+command="/usr/sbin/daemon"
+command_args="-S -u \"${zen_runas}\" -T \"${name}\" -p \"${pidfile}\" -t \"${desc}\" \"${procname}\""
+
+run_rc_command "$1"
diff --git a/www/zen/pkg-descr b/www/zen/pkg-descr
new file mode 100644
index 000000000000..51955e190ea1
--- /dev/null
+++ b/www/zen/pkg-descr
@@ -0,0 +1,16 @@
+zen is a self-hosted notes application.
+
+Features:
+
+- Single Go binary.
+- Low resource usage.
+- Standard Markdown files, local SQLite database.
+- Organize with flexible tags, not rigid folders.
+- Markdown features like tables, code blocks, task lists, highlights, and more.
+- Full-text search with BM25 ranking.
+- Import and export data with full portability.
+- Templates.
+- Pinned notes.
+- Archive and soft delete notes.
+- Minimal dependency footprint.
+- Automated backups.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a175a8f.22e52.23080588>