diff --git a/install/archivebox-install.sh b/install/archivebox-install.sh index d1700cab2..b7ef3827d 100644 --- a/install/archivebox-install.sh +++ b/install/archivebox-install.sh @@ -25,34 +25,33 @@ $STD apt-get install -y \ ripgrep msg_ok "Installed Dependencies" -msg_info "Installing Python Dependencies" -$STD apt-get install -y \ - python3-pip \ - python3-ldap \ - python3-msgpack \ - python3-regex -msg_ok "Installed Python Dependencies" - NODE_VERSION="22" install_node_and_modules -msg_info "Installing Playwright" -$STD pip install playwright -$STD playwright install-deps chromium -msg_ok "Installed Playwright" - -msg_info "Installing Chromium and ArchiveBox" +msg_info "Installing ArchiveBox Python Environment" mkdir -p /opt/archivebox/{data,.npm,.cache,.local} -$STD adduser --system --shell /bin/bash --gecos 'Archive Box User' --group --disabled-password --home /home/archivebox archivebox +adduser --system --shell /bin/bash --gecos 'Archive Box User' --group --disabled-password --home /home/archivebox archivebox chown -R archivebox:archivebox /opt/archivebox/{data,.npm,.cache,.local} chmod -R 755 /opt/archivebox/data -$STD pip install archivebox + +cd /opt/archivebox +PYTHON_VERSION="3.12" setup_uv + +msg_info "Installing ArchiveBox & Playwright (Patience)" cd /opt/archivebox/data +cp /opt/archivebox/uv.lock . || true +$STD /opt/archivebox/.venv/bin/uv sync +sudo -u archivebox /opt/archivebox/.venv/bin/playwright install-deps chromium +msg_ok "Installed ArchiveBox & Playwright" + +msg_info "Initial ArchiveBox Setup" expect </etc/systemd/system/archivebox.service @@ -79,12 +78,13 @@ After=network.target [Service] User=archivebox WorkingDirectory=/opt/archivebox/data -ExecStart=/usr/local/bin/archivebox server 0.0.0.0:8000 +ExecStart=/opt/archivebox/.venv/bin/archivebox server 0.0.0.0:8000 Restart=always [Install] WantedBy=multi-user.target EOF + systemctl enable -q --now archivebox msg_ok "Created Service" diff --git a/install/pialert-install.sh b/install/pialert-install.sh index 3bd6c555a..c5c4c057a 100644 --- a/install/pialert-install.sh +++ b/install/pialert-install.sh @@ -42,17 +42,14 @@ $STD lighttpd-enable-mod fastcgi-php service lighttpd force-reload msg_ok "Installed PHP Dependencies" +PYTHON_VERSION="3.12" setup_uv + msg_info "Installing Python Dependencies" -$STD apt-get -y install \ - python3-pip \ - python3-requests \ - python3-tz \ - python3-tzlocal -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED -$STD pip3 install mac-vendor-lookup -$STD pip3 install fritzconnection -$STD pip3 install cryptography -$STD pip3 install pyunifi +source /opt/pialert/.venv/bin/activate +$STD uv pip install mac-vendor-lookup +$STD uv pip install fritzconnection +$STD uv pip install cryptography +$STD uv pip install pyunifi msg_ok "Installed Python Dependencies" msg_info "Installing Pi.Alert" @@ -75,7 +72,7 @@ done sed -i 's#PIALERT_PATH\s*=\s*'\''/home/pi/pialert'\''#PIALERT_PATH = '\''/opt/pialert'\''#' /opt/pialert/config/pialert.conf sed -i 's/$HOME/\/opt/g' /opt/pialert/install/pialert.cron crontab /opt/pialert/install/pialert.cron -echo "python3 /opt/pialert/back/pialert.py 1" >/usr/bin/scan +echo "/opt/pialert/.venv/bin/python /opt/pialert/back/pialert.py 1" >/usr/bin/scan chmod +x /usr/bin/scan echo "/opt/pialert/back/pialert-cli set_permissions --lxc" >/usr/bin/permissions chmod +x /usr/bin/permissions @@ -84,9 +81,9 @@ chmod +x /usr/bin/sudoers msg_ok "Installed Pi.Alert" msg_info "Start Pi.Alert Scan (Patience)" -$STD python3 /opt/pialert/back/pialert.py update_vendors -$STD python3 /opt/pialert/back/pialert.py internet_IP -$STD python3 /opt/pialert/back/pialert.py 1 +$STD /opt/pialert/.venv/bin/python /opt/pialert/back/pialert.py update_vendors +$STD /opt/pialert/.venv/bin/python /opt/pialert/back/pialert.py internet_IP +$STD /opt/pialert/.venv/bin/python /opt/pialert/back/pialert.py 1 msg_ok "Finished Pi.Alert Scan" motd_ssh