Updates
This commit is contained in:
@@ -4,6 +4,12 @@ if (( $EUID != 0 )); then
|
|||||||
echo "Please run as root"
|
echo "Please run as root"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $SUDO_USER ]; then user=$SUDO_USER; fi
|
||||||
|
|
||||||
|
#clear out journalctl - probably a better way to do this
|
||||||
|
sudo journalctl --vacuum-time=1seconds
|
||||||
|
|
||||||
echo "UNPLUG PRINTER FROM USB"
|
echo "UNPLUG PRINTER FROM USB"
|
||||||
echo "Enter the name for new printer/instance:"
|
echo "Enter the name for new printer/instance:"
|
||||||
read INSTANCE
|
read INSTANCE
|
||||||
@@ -22,7 +28,7 @@ read PORT
|
|||||||
if [ -z "$PORT" ]; then
|
if [ -z "$PORT" ]; then
|
||||||
PORT=$(tail -1 /etc/octoprint_ports)
|
PORT=$(tail -1 /etc/octoprint_ports)
|
||||||
|
|
||||||
if [ -z "$PORT"]; then
|
if [ -z "$PORT" ]; then
|
||||||
PORT=4999
|
PORT=4999
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -30,29 +36,31 @@ if [ -z "$PORT" ]; then
|
|||||||
echo Selected port is: $PORT
|
echo Selected port is: $PORT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if grep -q $PORT /etc/octoprint_ports; then
|
if [ -f /etc/octoprint_ports ]; then
|
||||||
echo "Port in use! Check /etc/octoprint_ports. Exiting."
|
if grep -q $PORT /etc/octoprint_ports; then
|
||||||
exit 1
|
echo "Port in use! Check /etc/octoprint_ports. Exiting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#TODO
|
#TODO
|
||||||
#collect user, basedir path, daemon path
|
#collect user, basedir path, daemon path
|
||||||
echo "Octoprint Daemon User [$USER]:"
|
echo "Octoprint Daemon User [$user]:"
|
||||||
read OCTOUSER
|
read OCTOUSER
|
||||||
if [ -z "$OCTOUSER" ]; then
|
if [ -z "$OCTOUSER" ]; then
|
||||||
OCTOUSER=$USER
|
OCTOUSER=$user
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Octoprint Daemon Path [/home/$USER/OctoPrint/venv/bin/octoprint]:"
|
echo "Octoprint Daemon Path [/home/$user/OctoPrint/venv/bin/octoprint]:"
|
||||||
read OCTOPATH
|
read OCTOPATH
|
||||||
if [ -z "$OCTOPATH" ]; then
|
if [ -z "$OCTOPATH" ]; then
|
||||||
OCTOPATH="/home/$USER/OctoPrint/venv/bin/octoprint"
|
OCTOPATH="/home/$user/OctoPrint/venv/bin/octoprint"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Octoprint Config Path [/home/$USER/]:"
|
echo "Octoprint Config Path [/home/$user/]:"
|
||||||
read OCTOCONFIG
|
read OCTOCONFIG
|
||||||
if [ -z "$OCTOCONFIG" ]; then
|
if [ -z "$OCTOCONFIG" ]; then
|
||||||
OCTOCONFIG="/home/$USER/"
|
OCTOCONFIG="/home/$user/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -p "Auto-detect printer serial number for udev entry?" -n 1 -r
|
read -p "Auto-detect printer serial number for udev entry?" -n 1 -r
|
||||||
@@ -80,20 +88,21 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
#octoprint_base is the generic .octoprint folder that contains all configuration, upload, etc.
|
#octoprint_base is the generic .octoprint folder that contains all configuration, upload, etc.
|
||||||
echo "Octoprint instance base folder [/home/$USER/.octoprint]:"
|
echo "Octoprint instance base folder [/home/$user/.octoprint]:"
|
||||||
read BFOLD
|
read BFOLD
|
||||||
if [ -z "$BFOLD" ]; then
|
if [ -z "$BFOLD" ]; then
|
||||||
BFOLD="/home/$USER/.octoprint"
|
BFOLD="/home/$user/.octoprint"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -p "Do you want to proceed? " -n 1 -r
|
read -p "Do you want to proceed? " -n 1 -r
|
||||||
echo # (optional) move to a new line
|
echo # (optional) move to a new line
|
||||||
if [[ $REPLY =~ ^[Yy]$ ]]
|
if [[ $REPLY =~ ^[Yy]$ ]];
|
||||||
then
|
then
|
||||||
cat octoprint_default | sed -e "s/OCTOUSER/$OCTOUSER" -e "s/OCTOPATH/$OCTOPATH" -e "s/OCTOCONFIG/$OCTOCONFIG" -e "s/NEWINSTANCE/$INSTANCE/" -e "s/NEWPORT/$PORT/" > /etc/default/$INSTANCE
|
cat octoprint_default | sed -e "s/OCTOUSER/$OCTOUSER/" -e "s#OCTOPATH#$OCTOPATH#" -e "s#OCTOCONFIG#$OCTOCONFIG#" -e "s/NEWINSTANCE/$INSTANCE/" -e "s/NEWPORT/$PORT/" > /etc/default/$INSTANCE
|
||||||
cat octoprint_init | sed -e "s/NEWINSTANCE/$INSTANCE/" > /etc/init.d/$INSTANCE
|
cat octoprint_init | sed -e "s/NEWINSTANCE/$INSTANCE/" > /etc/init.d/$INSTANCE
|
||||||
cat octoprint_udev | sed -e "s/NEWINSTANCE/$INSTANCE/" -e "s/UDEV/$UDEV/" >> /etc/udev/rules.d/99-octoprint.rules
|
cat octoprint_udev | sed -e "s/NEWINSTANCE/octo_$INSTANCE/" -e "s/UDEV/$UDEV/" >> /etc/udev/rules.d/99-octoprint.rules
|
||||||
|
#clear out journalctl - probably a better way to do this
|
||||||
|
sudo journalctl --vacuum-time=1seconds
|
||||||
#Open port to be on safe side
|
#Open port to be on safe side
|
||||||
ufw allow $PORT/tcp
|
ufw allow $PORT/tcp
|
||||||
|
|
||||||
@@ -102,11 +111,11 @@ then
|
|||||||
#Append our port in the port list
|
#Append our port in the port list
|
||||||
echo $PORT >> /etc/octoprint_ports
|
echo $PORT >> /etc/octoprint_ports
|
||||||
#copy all files to our new directory
|
#copy all files to our new directory
|
||||||
cp -rp $BFOLD .$INSTANCE
|
cp -rp $BFOLD $OCTOCONFIG/.$INSTANCE
|
||||||
#Do config.yaml modifications here if needed..
|
#Do config.yaml modifications here if needed..
|
||||||
#sed -i "/s/PORT/$INSTANCE/" .$INSTANCE/config.yaml
|
#sed -i "/s/PORT/$INSTANCE/" .$INSTANCE/config.yaml
|
||||||
#TODO - Just add an entry after additionalPorts?
|
#TODO - Just add an entry after additionalPorts?
|
||||||
cat $BFOLD/config.yaml | sed -e "s/INSTANCE/$INSTANCE/" > .$INSTANCE/config.yaml
|
#cat $BFOLD/config.yaml | sed -e "s/INSTANCE/$INSTANCE/" > .$INSTANCE/config.yaml
|
||||||
udevadm control --reload-rules
|
udevadm control --reload-rules
|
||||||
udevadm trigger
|
udevadm trigger
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|||||||
Reference in New Issue
Block a user