-
-
Save Belphemur/3f6d3bf211b0e8a18d93 to your computer and use it in GitHub Desktop.
| # This script work on any system using systemd as the init process. | |
| # It works on Debian/Raspbian Jessie. | |
| # If you have Debian/Rapbian Wheezy and want to use this script with systemd | |
| # follow the information here : https://wiki.debian.org/systemd | |
| # To easily download, install and set at startup: | |
| # wget -O /tmp/download https://gist.github.com/Belphemur/3f6d3bf211b0e8a18d93/download && sudo tar -zxf /tmp/download --strip-components 1 -C /etc/systemd/system/ && sudo systemctl --reload-daemon && sudo systemctl enable Node-RED | |
| # To consult the log : journalctl -u Node-RED | |
| [Unit] | |
| Description=Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways. | |
| After=syslog.target network.target | |
| Documentation=http://nodered.org/ | |
| [Service] | |
| Environment="NODE_OPTIONS=--max-old-space-size=128" | |
| Environment="NODE_RED_OPTIONS=-v" | |
| #Full Path to Node.js | |
| ExecStart=/usr/local/bin/node $NODE_OPTIONS red.js $NODE_RED_OPTIONS | |
| WorkingDirectory=/home/pi/node-red/ | |
| # User/Group that launches node-RED (it's advised to create a new user for Node-RED) | |
| # You can do : sudo useradd node-red | |
| # then change the User=root by User=node-red | |
| User=root | |
| Group=root | |
| Nice=10 | |
| SyslogIdentifier=Node-RED | |
| StandardOutput=syslog | |
| # Make Node-RED restart if it fails | |
| Restart=on-failure | |
| # Node-RED need a SIGINT to be notified to stop | |
| KillSignal=SIGINT | |
| [Install] | |
| WantedBy=multi-user.target |
now its work
[Unit]
Description=The NodeRed
After=syslog.target network.target
[Service]
Type=simple
User=root
Group=root
Nice=5
KillSignal=SIGINT
ExecStart=/usr/bin/node-red
Restart=on-failure
StandardOutput=syslog
WorkingDirectory=/home/pi/.node-red
User=root
Group=root
[Install]
WantedBy=multi-user.tar
``
WorkingDirectory does not really have any effect, but the following works:
ExecStart=/usr/bin/node-red -u /home/pi/.node-red where the -u switch specifies the user working directory for Node-RED itself.
To Add to this script, running node-red as root is a bad idea, don´t do that
@papaiatis Assuming you User and Group to a non root user (for example the pi user) there is no reason to set the -u flag
When i only enter that...
wget -O /tmp/download https://gist.github.com/Belphemur/3f6d3bf211b0e8a18d93/download && sudo tar -zxf /tmp/download --strip-components 1 -C /etc/systemd/system/
..i get that error at the end:
gzip: stdin has more than one entry--rest ignored
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Why that?
Problem is HERE:
root@debian-influx:~/.node-red# tar -zxf /tmp/download --strip-components 1 -C /etc/systemd/system/gzip: stdin has more than one entry--rest ignored
tar: Child returned status 2
tar: Error is not recoverable: exiting now
The /tmp/download is a zip file, not a gzip file. On my Ubuntu system
sudo apt install unzip
wget -O /tmp/download https://gist.github.com/Belphemur/3f6d3bf211b0e8a18d93/download
unzip /tmp/download
Now edit the 3f6d3bf211b0e8a18d93-master/Node-RED.service file and make any changes you like as per the prior posts here.
@krisklosterman I made your suggestion and when I run
sudo systemctl status nodered.serviceit shows following respondbut
http://localhost:1880;not respond , what did I miss