#!/bin/sh # PROVIDE: mongod # REQUIRE: NETWORK ldconfig # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # mongod_enable (bool): Set to "NO" by default. # Set it to "YES" to enable mongod. %%LEGACY_LIMITS%%# mongod_limits (bool): Set to "NO" by default. %%LEGACY_LIMITS%%# Set it to yes to run `limits -e -U mongodb` %%LEGACY_LIMITS%%# just before mongod starts. # mongod_dbpath (str): Default to "/var/db/mongodb" # Base database directory. # mongod_flags (str): Custom additional arguments to be passed to mongod. # Default to "--logpath ${mongod_dbpath}/mongod.log --logappend". # mongod_config (str): Default to "%%PREFIX%%/etc/mongodb.conf" # Path to config file # . /etc/rc.subr name="mongod" rcvar=mongod_enable load_rc_config $name : ${mongod_enable="NO"} %%LEGACY_LIMITS%%: ${mongod_limits="NO"} : ${mongod_dbpath="/var/db/mongodb"} : ${mongod_flags="--logpath ${mongod_dbpath}/mongod.log --logappend --setParameter=disabledSecureAllocatorDomains=\*"} : ${mongod_user="mongodb"} : ${mongod_group="mongodb"} : ${mongod_config="%%PREFIX%%/etc/mongodb.conf"} pidfile="${mongod_dbpath}/mongod.lock" command=%%PREFIX%%/bin/${name} command_args="--config $mongod_config --dbpath $mongod_dbpath --fork >/dev/null 2>/dev/null" start_precmd="${name}_prestart" mongod_create_dbpath() { mkdir ${mongod_dbpath} >/dev/null 2>/dev/null [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath} } mongod_prestart() { if [ ! -d ${mongod_dbpath} ]; then mongod_create_dbpath || return 1 fi %%LEGACY_LIMITS%% if checkyesno mongod_limits; then %%LEGACY_LIMITS%% eval `/usr/bin/limits -e -U ${mongod_user}` 2>/dev/null %%LEGACY_LIMITS%% else %%LEGACY_LIMITS%% return 0 %%LEGACY_LIMITS%% fi %%MODERN_LIMITS%% return 0 } run_rc_command "$1"