5 Commits

5 changed files with 29 additions and 18 deletions
+1
View File
@@ -4,3 +4,4 @@ navidrome-upload.service
.idea/ .idea/
.env .env
/README.md /README.md
__pycache__/
+1 -1
View File
@@ -9,7 +9,7 @@ Group=navidrome-uploader
WorkingDirectory=/opt/navidrome-uploader WorkingDirectory=/opt/navidrome-uploader
Environment="PATH=/opt/navidrome-uploader/venv/bin" Environment="PATH=/opt/navidrome-uploader/venv/bin"
EnvironmentFile=/etc/default/navidrome-uploader/.env EnvironmentFile=/etc/default/navidrome-uploader/.env
ExecStart=/opt/navidrome-uploader/venv/bin/gunicorn -c gunicorn.conf.py main:app ExecStart=/opt/navidrome-uploader/venv/bin/gunicorn --no-control-socket -c gunicorn.conf.py main:app
Restart=on-failure Restart=on-failure
RestartSec=30 RestartSec=30
+12
View File
@@ -1,3 +1,15 @@
navidrome-uploader (0.1.0-2) unstable; urgency=high
* Run pip install stage as navidrome-uploader user instead of root
-- Arian Nasr <arian@2ari.ca> Tue, 14 Apr 2026 12:11:00 -0400
navidrome-uploader (0.1.0-1) unstable; urgency=medium
* Disable gunicorn control socket in systemd service unit
-- Arian Nasr <arian@2ari.ca> Thu, 09 Apr 2026 01:58:00 -0400
navidrome-uploader (0.1.0) unstable; urgency=medium navidrome-uploader (0.1.0) unstable; urgency=medium
* Add Debian packaging with systemd service integration and venv setup. * Add Debian packaging with systemd service integration and venv setup.
+14 -10
View File
@@ -3,20 +3,24 @@ set -e
APP_DIR="/opt/navidrome-uploader" APP_DIR="/opt/navidrome-uploader"
VENV_DIR="${APP_DIR}/venv" VENV_DIR="${APP_DIR}/venv"
APP_USER="navidrome-uploader"
case "$1" in case "$1" in
configure) configure)
python3 -m venv "${VENV_DIR}" chown -R "$APP_USER:$APP_USER" "$APP_DIR"
"${VENV_DIR}/bin/pip" install --no-cache-dir --upgrade pip
"${VENV_DIR}/bin/pip" install --no-cache-dir -r "${APP_DIR}/requirements.txt"
if command -v systemctl > /dev/null 2>&1; then runuser -u "$APP_USER" -- python3 -m venv "$VENV_DIR"
systemctl daemon-reload || true runuser -u "$APP_USER" -- "$VENV_DIR/bin/pip" install --no-cache-dir --upgrade pip
systemctl enable navidrome-uploader.service || true runuser -u "$APP_USER" -- "$VENV_DIR/bin/pip" install --no-cache-dir -r "$APP_DIR/requirements.txt"
systemctl restart navidrome-uploader.service || true
fi if command -v systemctl >/dev/null 2>&1; then
;; systemctl daemon-reload || true
systemctl enable navidrome-uploader.service || true
systemctl restart navidrome-uploader.service || true
fi
;;
esac esac
exit 0 exit 0
-6
View File
@@ -1,6 +0,0 @@
#!/bin/sh
if ! getent passwd navidrome-uploader > /dev/null 2>&1; then
printf "Creating navidrome-uploader user\n"
useradd --system --shell /usr/sbin/nologin --user-group navidrome-uploader
fi