|
- #!/bin/bash
-
- # Check if user exits
- USER=mqttnetsrv
- USEREXISTS=$(id -u $USER >/dev/null 2>&1; echo $?)
- EC=0
- BASEPATH=/opt
- INSTALLPATH=$BASEPATH/MQTTnetServer
-
- # If user does not exist, create it
- if (( $USEREXISTS == 1 )); then
- useradd -d $INSTALLPATH -r $USER
- EC=$(echo $?)
-
- if (( $EC == 1 )); then
- exit 1;
- fi
- fi
-
- # Set permissions on files
- chown -R root:root $INSTALLPATH
-
- # Check if config does not exist and create it
- if [ ! -f "$INSTALLPATH/appsettings.json" ]; then
- cp $INSTALLPATH/appsettings.template.json $INSTALLPATH/appsettings.json
- fi
-
-
- # Check if setcap exists, does not exist in docker containers
- SCAP=$(which setcap >/dev/null; echo $?)
- if [ "$SCAP" -eq "0" ]; then
- # Enable MQTTServer.NET to bind to IP interface
- setcap CAP_NET_BIND_SERVICE=+eip $INSTALLPATH/MQTTnet.Server
- fi
-
- chmod 644 /etc/systemd/system/mqttnet-server.service
-
- # Check if systemctl exists, does not exist in docker containers
- SCTL=$(which systemctl >/dev/null; echo $?)
-
- if [ "$SCTL" -eq "0" ]; then
- # Reload systemd because of new service file
- systemctl daemon-reload
- fi
|