git: 2a0e3ae53013 - main - textproc/meilisearch: add rc script to allow running as a daemon
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 17 Jan 2026 15:27:47 UTC
The branch main has been updated by dch:
URL: https://cgit.FreeBSD.org/ports/commit/?id=2a0e3ae5301353d16dde348f80aab985cf38c2ed
commit 2a0e3ae5301353d16dde348f80aab985cf38c2ed
Author: Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2026-01-17 15:27:04 +0000
Commit: Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2026-01-17 15:27:04 +0000
textproc/meilisearch: add rc script to allow running as a daemon
Sponsored by: SkunkWerks, GmbH
Differential Revision: https://reviews.freebsd.org/D53314
---
textproc/meilisearch/Makefile | 6 ++-
textproc/meilisearch/files/meilisearch.in | 65 +++++++++++++++++++++++++++++++
2 files changed, 69 insertions(+), 2 deletions(-)
diff --git a/textproc/meilisearch/Makefile b/textproc/meilisearch/Makefile
index 2fa7aa46b97a..8eeb69c98f63 100644
--- a/textproc/meilisearch/Makefile
+++ b/textproc/meilisearch/Makefile
@@ -1,6 +1,7 @@
PORTNAME= meilisearch
DISTVERSIONPREFIX= v
DISTVERSION= 1.31.0
+PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= https://github.com/meilisearch/mini-dashboard/releases/download/v${DASHBOARD_VERSION}/build.zip?dummy=/:mini_dashboard_assets \
https://Lindera.dev/:dic_upstream \
@@ -34,12 +35,13 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= libgit2>=0:devel/libgit2
-LIB_DEPENDS= libzstd.so:archivers/zstd \
- libonig.so:devel/oniguruma
+LIB_DEPENDS= libonig.so:devel/oniguruma \
+ libzstd.so:archivers/zstd
BROKEN_i386= fails to build
USES= cargo pkgconfig
USE_GITHUB= yes
+USE_RC_SUBR= ${PORTNAME}
#GH_TUPLE= meilisearch:lmdb:6a01c0a:lmdb/../lmdb-rs-501aa34a1ab7f092e3ff54a6c22ff6c55931a2d8/lmdb-sys/lmdb
DASHBOARD_VERSION= 0.2.22
diff --git a/textproc/meilisearch/files/meilisearch.in b/textproc/meilisearch/files/meilisearch.in
new file mode 100644
index 000000000000..93fc588280e7
--- /dev/null
+++ b/textproc/meilisearch/files/meilisearch.in
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# PROVIDE: meilisearch
+# REQUIRE: DAEMON NETWORKING
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable meilisearch:
+# meilisearch_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable meilisearch.
+# meilisearch_user (user): Set to "www" by default.
+# User to run meilisearch as.
+# meilisearch_group (group): Set to "www" by default.
+# Group to run meilisearch as.
+# meilisearch_args (str): Set to "" by default.
+# Extra flags passed to meilisearch.
+
+. /etc/rc.subr
+
+name=meilisearch
+rcvar=meilisearch_enable
+
+load_rc_config $name
+
+: ${meilisearch_enable:="NO"}
+: ${meilisearch_dir:="/var/db/meilisearch"}
+: ${meilisearch_config:="%%PREFIX%%/etc/meilisearch/meilisearch.toml"}
+: ${meilisearch_user:="www"}
+: ${meilisearch_group:="www"}
+: ${meilisearch_args:="--db-path ${meilisearch_dir} --dump-dir ${meilisearch_dir}/dumps"}
+: ${meilisearch_chdir:="${meilisearch_dir}"}
+
+pidfile="/var/run/${name}.pid"
+daemon_pidfile="/var/run/${name}-daemon.pid"
+procname="%%PREFIX%%/bin/meilisearch"
+command="/usr/sbin/daemon"
+command_args="-f -c -R 5 -r -T ${name} -p ${pidfile} -P ${daemon_pidfile} ${procname} ${meilisearch_args}"
+
+required_dirs="${meilisearch_dir}"
+required_files="${meilisearch_config}"
+
+start_precmd=meilisearch_startprecmd
+stop_postcmd=meilisearch_stoppostcmd
+
+meilisearch_startprecmd()
+{
+ if [ ! -e ${daemon_pidfile} ]; then
+ install -o ${meilisearch_user} -g ${meilisearch_group} /dev/null ${daemon_pidfile};
+ fi
+ if [ ! -e ${pidfile} ]; then
+ install -o ${meilisearch_user} -g ${meilisearch_group} /dev/null ${pidfile};
+ fi
+}
+
+
+meilisearch_stoppostcmd()
+{
+ if [ -f "${daemon_pidfile}" ]; then
+ pids=$( pgrep -F ${daemon_pidfile} 2>&1 )
+ _err=$?
+ [ ${_err} -eq 0 ] && kill -9 ${pids}
+ fi
+}
+
+run_rc_command "$1"
+