From 2139f9b9db8355cce707a27cb820cf5a63a9c738 Mon Sep 17 00:00:00 2001 From: tteckster Date: Mon, 1 May 2023 12:53:21 -0400 Subject: [PATCH] Create octoprint-install.sh --- install/octoprint-install.sh | 76 ++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 install/octoprint-install.sh diff --git a/install/octoprint-install.sh b/install/octoprint-install.sh new file mode 100644 index 00000000..56492b3b --- /dev/null +++ b/install/octoprint-install.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2023 tteck +# Author: tteck (tteckster) +# License: MIT +# https://github.com/tteck/Proxmox/raw/main/LICENSE + +source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y curl +$STD apt-get install -y sudo +$STD apt-get install -y mc +$STD apt-get install -y git +$STD apt-get install -y libyaml-dev +$STD apt-get install -y build-essential +msg_ok "Installed Dependencies" + +msg_info "Installing Python3" +$STD apt-get install -y \ + python3-pip \ + python3-dev \ + python3-setuptools \ + python3-venv +msg_ok "Installed Python3" + +msg_info "Creating user octoprint" +useradd -m -s /bin/bash -p $(openssl passwd -1 octoprint) octoprint +usermod -aG sudo,tty,dialout octoprint +chown -R octoprint:octoprint /opt +msg_ok "Created user octoprint" + +msg_info "Installing OctoPrint" +$STD sudo -u octoprint bash << EOF +mkdir /opt/octoprint +cd /opt/octoprint +python3 -m venv . +source bin/activate +pip install --upgrade pip +pip install octoprint +EOF +msg_ok "Installed OctoPrint" + +msg_info "Creating Service" +cat </etc/systemd/system/octoprint.service +[Unit] +Description=The snappy web interface for your 3D printer +After=network-online.target +Wants=network-online.target + +[Service] +Environment="LC_ALL=C.UTF-8" +Environment="LANG=C.UTF-8" +Type=exec +User=octoprint +ExecStart=/opt/octoprint/bin/octoprint serve + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now octoprint.service +msg_ok "Created Service" + +motd_ssh +root + +msg_info "Cleaning up" +$STD apt-get autoremove +$STD apt-get autoclean +msg_ok "Cleaned"