-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Jake
committed
Mar 15, 2018
1 parent
5d74698
commit 11d8252
Showing
3 changed files
with
128 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Welcome to the service directory! | ||
|
||
This is currently under construction. I haven't | ||
even run these scripts yet, but I'm working on | ||
a sweet little perma-live process for tavernbot, | ||
which will make updating it super easy. | ||
|
||
For now, these random scripts will sit here | ||
with no indication whatsoever as to how they | ||
should be used. Documentation and tested | ||
versions of the scripts coming soon! | ||
|
||
Cheers. |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
#!/bin/sh | ||
### BEGIN INIT INFO | ||
# Provides: Tavernbot node.js discord bot | ||
# Required-Start: $remote_fs $syslog | ||
# Required-Stop: $remote_fs $syslog | ||
# Default-Start: 2 3 4 5 | ||
# Default-Stop: 0 1 6 | ||
# Short-Description: Start daemon at boot time | ||
# Description: Enable service provided by daemon. | ||
### END INIT INFO | ||
|
||
dir="/path/to/tavernbot" | ||
cmd="node bot.js" | ||
user="node" #Set this appropriately. Can't test on the system I wrote this on because I hate my own free time I guess | ||
|
||
name=`basename $0` | ||
pid_file="/var/run/$name.pid" | ||
stdout_log="/var/log/$name.log" | ||
stderr_log="/var/log/$name.err" | ||
|
||
get_pid() { | ||
cat "$pid_file" | ||
} | ||
|
||
is_running() { | ||
[ -f "$pid_file" ] && ps -p `get_pid` > /dev/null 2>&1 | ||
} | ||
|
||
case "$1" in | ||
start) | ||
if is_running; then | ||
echo "Already started" | ||
else | ||
echo "Starting $name" | ||
cd "$dir" | ||
if [ -z "$user" ]; then | ||
sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & | ||
else | ||
#sudo touch $stdout_log $stderr_log | ||
#sudo chown $user $stdout_log $stderr_log | ||
sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & | ||
fi | ||
echo $! > "$pid_file" | ||
if ! is_running; then | ||
echo "Unable to start, see $stdout_log and $stderr_log" | ||
exit 1 | ||
fi | ||
fi | ||
;; | ||
stop) | ||
if is_running; then | ||
echo -n "Stopping $name.." | ||
kill `get_pid` | ||
for i in 1 2 3 4 5 6 7 8 9 10 | ||
# for i in `seq 10` | ||
do | ||
if ! is_running; then | ||
break | ||
fi | ||
|
||
echo -n "." | ||
sleep 1 | ||
done | ||
echo | ||
|
||
if is_running; then | ||
echo "Not stopped; may still be shutting down or shutdown may have failed" | ||
exit 1 | ||
else | ||
echo "Stopped" | ||
if [ -f "$pid_file" ]; then | ||
rm "$pid_file" | ||
fi | ||
fi | ||
else | ||
echo "Not running" | ||
fi | ||
;; | ||
restart) | ||
$0 stop | ||
if is_running; then | ||
echo "Unable to stop, will not attempt to start" | ||
exit 1 | ||
fi | ||
$0 start | ||
;; | ||
status) | ||
if is_running; then | ||
echo "Running" | ||
else | ||
echo "Stopped" | ||
exit 1 | ||
fi | ||
;; | ||
*) | ||
echo "Usage: $0 {start|stop|restart|status}" | ||
exit 1 | ||
;; | ||
esac | ||
|
||
exit 0 |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
[Unit] | ||
Description=Tavernbot: The best RPG bot for Discord | ||
Documentation=https://github.com/jakerunsdnd/tavernbot | ||
After=network.target | ||
|
||
[Service] | ||
Environment=NODE_ENV=production | ||
Type=simple | ||
User=pi | ||
ExecStart=/usr/bin/node /opt/tavernbot/bot.js | ||
Restart=on-failure | ||
|
||
[Install] | ||
WantedBy=multi-user.target |