Logan Gartner
f79bf92d7e
We now use venv instead of virtualenv as well Also the virtualenv is now created with an absolute path
34 lines
1.3 KiB
Bash
Executable file
34 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
install -m 644 files/octoprint.service ${ROOTFS_DIR}/etc/systemd/system/octoprint.service
|
|
mkdir -p ${ROOTFS_DIR}/home/octoprint/.octoprint/
|
|
install -m 600 files/config.yaml ${ROOTFS_DIR}/home/octoprint/.octoprint/config.yaml
|
|
|
|
install -m 644 files/nginx.conf ${ROOTFS_DIR}/etc/nginx/nginx.conf
|
|
echo -e "listen 443;" > ${ROOTFS_DIR}/etc/nginx/listen.conf
|
|
touch ${ROOTFS_DIR}/etc/nginx/auth.conf
|
|
|
|
mkdir -p ${ROOTFS_DIR}/usr/local/bin
|
|
install -m 755 files/restart-octoprint ${ROOTFS_DIR}/usr/local/bin/restart-octoprint
|
|
|
|
# Yeah I could've used polkit, but this works fine so whatever
|
|
mkdir -p ${ROOTFS_DIR}/etc/sudoers.d
|
|
echo "octoprint ALL=NOPASSWD: /sbin/shutdown" > ${ROOTFS_DIR}/etc/sudoers.d/octoprint-shutdown
|
|
echo "octoprint ALL=NOPASSWD: /usr/local/bin/restart-octoprint" > ${ROOTFS_DIR}/etc/sudoers.d/octoprint-restart
|
|
|
|
on_chroot << EOF
|
|
# Package enables this when installed, won't start until first-time is run due to missing SSL certs
|
|
systemctl disable nginx
|
|
|
|
# If OctoPrint already exists, skip this (for debugging)
|
|
if [[ ! -f /srv/octoprint/bin/octoprint ]]; then
|
|
python3 -m venv /srv/octoprint || exit 1
|
|
source /srv/octoprint/bin/activate || exit 1
|
|
pip install pip --upgrade
|
|
pip install octoprint || exit 1
|
|
# Fix permissions
|
|
chown -R octoprint:octoprint /srv/octoprint
|
|
chown -R octoprint:octoprint /home/octoprint
|
|
fi
|
|
EOF
|