Last active
February 28, 2024 09:50
-
-
Save apearson/56a2cd137099dbeaf6683ef99aa43ce0 to your computer and use it in GitHub Desktop.
Node-RED FreeBSD RC Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# PROVIDE: nodered | |
# REQUIRE: LOGIN | |
# KEYWORD: shutdown | |
# Author: Andrew Pearson (apearson.io) | |
# Version: 1.0.2 | |
# Description: | |
# This script runs Node-RED as a service under the supplied user on boot | |
# How to use: | |
# Place this file in /usr/local/etc/rc.d/ | |
# Add nodered_enable="YES" to /etc/rc.config | |
# (Optional) To run as non-root, add nodered_runAs="node-red" to /etc/rc.config | |
# (Optional) To pass Node-RED args, add nodered_args="" to /etc/rc.config | |
# Freebsd rc library | |
. /etc/rc.subr | |
# General Info | |
name="nodered" # Safe name of program | |
program_name="node-red" # Name of exec | |
title="Node-RED" # Title to display in top/htop | |
# RC.config vars | |
load_rc_config $name # Loading rc config vars | |
: ${nodered_enable="NO"} # Default: Do not enable Node-RED | |
: ${nodered_runAs="root"} # Default: Run Node-RED as root | |
# Freebsd Setup | |
rcvar=nodered_enable # Enables the rc.conf YES/NO flag | |
pidfile="/var/run/${program_name}.pid" # File that allows the system to keep track of node-red status | |
# Env Setup | |
export HOME=$( getent passwd "$nodered_runAs" | cut -d: -f6 ) # Gets the home directory of the runAs user | |
# Command Setup | |
exec_path="/usr/local/bin/${program_name}" # Path to the node-red exec, /usr/local/bin/ when installed globally | |
output_file="/var/log/${program_name}.log" # Path to Node-RED output file | |
# Command | |
command="/usr/sbin/daemon" | |
command_args="-r -t ${title} -u ${nodered_runAs} -o ${output_file} -P ${pidfile} ${exec_path} ${nodered_args}" | |
# Loading Config | |
load_rc_config ${name} | |
run_rc_command "$1" |
I tried to run the script and than to understand the comments but i dont know what i have to do.
- Did you
Place this file in /usr/local/etc/rc.d/
- Then
Add nodered_enable="YES" to /etc/rc.config
- Then
service start nodered
how do i put the file in the path with the shell?
@EliasZoockt email me at noderedhelp at {myusername} dot io
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What have you tried @EliasZoockt?