installer: accept ABS_URL/PORT as positional args, default REPO_URL
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -31,14 +31,22 @@ ABS_URL=http://127.0.0.1:13378 PORT=8080 npm start
|
|||||||
# open http://<container-ip>:8080
|
# open http://<container-ip>:8080
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. Auto-start with systemd
|
## 4. One-shot install + auto-start (recommended)
|
||||||
|
The installer does everything (Node, build, systemd enable/start). The ABS URL and port
|
||||||
|
are positional args (or env vars):
|
||||||
|
```bash
|
||||||
|
git clone https://git.scarriffle.com/Scarriffle/shelfless.git /opt/shelfless
|
||||||
|
cd /opt/shelfless
|
||||||
|
bash deploy/install.sh http://127.0.0.1:13378 8080
|
||||||
|
```
|
||||||
|
- 1st arg = ABS_URL (default `http://127.0.0.1:13378`)
|
||||||
|
- 2nd arg = PORT (default `8080`)
|
||||||
|
|
||||||
|
Manage it afterwards:
|
||||||
```bash
|
```bash
|
||||||
cp deploy/shelfless.service /etc/systemd/system/shelfless.service
|
|
||||||
# edit WorkingDirectory / ABS_URL / PORT inside the file if needed
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl enable --now shelfless
|
|
||||||
systemctl status shelfless # check it's running
|
systemctl status shelfless # check it's running
|
||||||
journalctl -u shelfless -f # logs
|
journalctl -u shelfless -f # logs
|
||||||
|
systemctl restart shelfless # restart
|
||||||
```
|
```
|
||||||
|
|
||||||
Open `http://<container-ip>:8080`. The setup screen asks only for username + password
|
Open `http://<container-ip>:8080`. The setup screen asks only for username + password
|
||||||
|
|||||||
@@ -4,19 +4,25 @@
|
|||||||
# that serves the app and reverse-proxies to your Audiobookshelf server.
|
# that serves the app and reverse-proxies to your Audiobookshelf server.
|
||||||
#
|
#
|
||||||
# Usage (as root on the container):
|
# Usage (as root on the container):
|
||||||
# REPO_URL=https://git.scarriffle.com/<owner>/shelfless.git \
|
# bash deploy/install.sh [ABS_URL] [PORT]
|
||||||
# ABS_URL=http://127.0.0.1:13378 PORT=8080 \
|
|
||||||
# bash install.sh
|
|
||||||
#
|
#
|
||||||
|
# Examples:
|
||||||
|
# bash deploy/install.sh # ABS at localhost:13378, port 8080
|
||||||
|
# bash deploy/install.sh http://192.168.1.10:13378 # ABS elsewhere
|
||||||
|
# bash deploy/install.sh http://192.168.1.10:13378 9000
|
||||||
|
#
|
||||||
|
# All values can also be given as env vars (REPO_URL, ABS_URL, PORT, INSTALL_DIR).
|
||||||
# Re-running updates an existing install.
|
# Re-running updates an existing install.
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
REPO_URL="${REPO_URL:?Set REPO_URL to your git repo, e.g. https://git.scarriffle.com/owner/shelfless.git}"
|
REPO_URL="${REPO_URL:-https://git.scarriffle.com/Scarriffle/shelfless.git}"
|
||||||
|
ABS_URL="${1:-${ABS_URL:-http://127.0.0.1:13378}}"
|
||||||
|
PORT="${2:-${PORT:-8080}}"
|
||||||
INSTALL_DIR="${INSTALL_DIR:-/opt/shelfless}"
|
INSTALL_DIR="${INSTALL_DIR:-/opt/shelfless}"
|
||||||
ABS_URL="${ABS_URL:-http://127.0.0.1:13378}"
|
|
||||||
PORT="${PORT:-8080}"
|
|
||||||
SERVICE="${SERVICE:-shelfless}"
|
SERVICE="${SERVICE:-shelfless}"
|
||||||
|
|
||||||
|
echo "==> Config: ABS_URL=$ABS_URL PORT=$PORT INSTALL_DIR=$INSTALL_DIR"
|
||||||
|
|
||||||
echo "==> Installing system dependencies"
|
echo "==> Installing system dependencies"
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y git curl ca-certificates
|
apt-get install -y git curl ca-certificates
|
||||||
|
|||||||
Reference in New Issue
Block a user