mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
Added Systemd unit and more verbose install.
This commit is contained in:
51
install.sh
vendored
51
install.sh
vendored
@@ -1,8 +1,9 @@
|
||||
#!/bin/bash
|
||||
#!/bin/env bash
|
||||
|
||||
cd /tmp/
|
||||
git clone https://github.com/th3r00t/pyShelf.git
|
||||
cd /tmp/pyShelf/
|
||||
|
||||
# create pyshelf system user if it doesn't exist
|
||||
if ! id -u pyshelf >/dev/null 2>&1; then
|
||||
sudo useradd -r -s /usr/bin/nologin pyshelfA
|
||||
@@ -24,24 +25,38 @@ git checkout 0.8.0--dev-zipapp
|
||||
# if on arch linux, install python3-uv
|
||||
if [ -f /etc/arch-release ]; then
|
||||
sudo pacman --noconfirm -Syy python-uv
|
||||
sudo mkdir /etc/pyShelf
|
||||
sudo cp -avR . /etc/pyShelf
|
||||
cd /etc/pyShelf
|
||||
sudo uv sync
|
||||
sudo mkdir release
|
||||
cd /etc/pyShelf/src/frontend
|
||||
sudo npm install
|
||||
cd /etc/pyShelf
|
||||
if [ ! -d /etc/pyShelf/release ]; then
|
||||
sudo mkdir release
|
||||
fi
|
||||
echo "Building release..."
|
||||
sudo ./build.sh
|
||||
echo "Linking executable..."
|
||||
sudo ln -s /etc/pyShelf/pyshelf.sh /usr/local/bin/
|
||||
# sudo -u pyshelf direnv allow
|
||||
else
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y python3-uv python3 python3-pip nodejs npm libxml2 libxslt1-dev zlib1g-dev libjpeg-turbo8-dev build-essential
|
||||
sudo pip install -r requirements.txt
|
||||
fi
|
||||
|
||||
sudo mkdir /etc/pyShelf
|
||||
sudo cp -avR . /etc/pyShelf
|
||||
cd /etc/pyShelf
|
||||
sudo uv sync
|
||||
# sudo mkdir release
|
||||
cd /etc/pyShelf/src/frontend
|
||||
echo "Installing frontend dependencies..."
|
||||
sudo npm install
|
||||
cd /etc/pyShelf
|
||||
echo "Building frontend..."
|
||||
if [ ! -d /etc/pyShelf/release ]; then
|
||||
sudo mkdir release
|
||||
fi
|
||||
echo "Building release..."
|
||||
sudo ./build.sh
|
||||
echo "Linking executable..."
|
||||
sudo ln -s /etc/pyShelf/pyshelf.sh /usr/local/bin/
|
||||
echo "Installing systemd service..."
|
||||
if [ -f /usr/lib/systemd/system/pyShelf.service ]; then
|
||||
sudo rm /usr/lib/systemd/system/pyShelf.service
|
||||
fi
|
||||
sudo cp /tmp/pyShelf/pyShelf.service /usr/lib/systemd/system/
|
||||
echo "Enabling systemd service..."
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now pyShelf.service
|
||||
echo "Installation complete."
|
||||
echo "You can now access pyShelf at http://localhost:8000"
|
||||
echo "If your books are not at /mnt/books, please edit the config file at \
|
||||
/etc/pyShelf/config.json"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user