summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Dextraze <jonathan.dextraze@dexdo.com>2021-01-07 23:00:34 -0500
committerJonathan Dextraze <jonathan.dextraze@dexdo.com>2021-01-07 23:00:34 -0500
commita96cb3665013fede4eb947d1ae486a03e6366759 (patch)
treef923c5ae7d521a13d08e578fff24a09986136ad3
parentbd7300d11fd88e96e817329f6898ec93d396c05f (diff)
downloadBedrockConnect-a96cb3665013fede4eb947d1ae486a03e6366759.tar.gz
BedrockConnect-a96cb3665013fede4eb947d1ae486a03e6366759.tar.bz2
BedrockConnect-a96cb3665013fede4eb947d1ae486a03e6366759.zip
install service script
-rw-r--r--scripts/bedrock_connect.service18
-rw-r--r--scripts/install-service.sh60
2 files changed, 78 insertions, 0 deletions
diff --git a/scripts/bedrock_connect.service b/scripts/bedrock_connect.service
new file mode 100644
index 0000000..6f8b99a
--- /dev/null
+++ b/scripts/bedrock_connect.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Bedrock Connect
+After=syslog.target
+After=network.target
+#Uncomment line below if using MySQL
+#Requires=mysql.service
+
+[Service]
+RestartSec=2s
+Type=simple
+User=mcbc
+Group=mcbc
+WorkingDirectory=/home/mcbc
+ExecStart=/usr/bin/java -jar BedrockConnect-1.0-SNAPSHOT.jar nodb=true
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/scripts/install-service.sh b/scripts/install-service.sh
new file mode 100644
index 0000000..b91ce60
--- /dev/null
+++ b/scripts/install-service.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+
+SCRIPTS_DIR=$(dirname $0)
+
+# Requires root
+
+if [[ "$(whoami)" != "root" ]]; then
+ echo "Error: This script need to be ran as root (or using sudo)."
+ exit 1
+fi
+
+# Check OS and dependencies
+
+if [[ -f /etc/os-release ]]; then
+ source /etc/os-release
+ if [[ "$ID" == "ubuntu" || "$ID_LIKE" == "ubuntu" ]]; then
+ apt install -y curl jq
+ ADDUSER=useradd
+ elif [[ "$ID" == "centos" ]]; then
+ yum install -y epel-release
+ yum install -y curl jq
+ ADDUSER=adduser
+ else
+ echo "Unsupported OS"
+ exit 2
+ fi
+else
+ echo "Unsupported OS"
+ exit 2
+fi
+
+# Add user
+
+$ADDUSER \
+ --system \
+ --shell /bin/bash \
+ --user-group \
+ --password "$(dd bs=36 count=1 if=/dev/urandom 2>/dev/null | base64)" \
+ --home /home/mcbc \
+ --create-home \
+ mcbc
+
+# Download latest
+
+curl "$(curl -s https://api.github.com/repos/Pugmatt/BedrockConnect/releases/latest | jq -r .assets[0].browser_download_url)" \
+ -sLo /home/mcbc/BedrockConnect-1.0-SNAPSHOT.jar
+
+chown mcbc:mcbc /home/mcbc/BedrockConnect-1.0-SNAPSHOT.jar
+
+# Copy systemd script
+
+cp "$SCRIPTS_DIR/bedrock_connect.service" /etc/systemd/system/
+
+# Reload, enable and start
+
+systemctl daemon-reload
+
+systemctl enable bedrock_connect
+
+systemctl start bedrock_connect