summarylogtreecommitdiffstats
path: root/libresonic.install
diff options
context:
space:
mode:
Diffstat (limited to 'libresonic.install')
-rw-r--r--libresonic.install72
1 files changed, 72 insertions, 0 deletions
diff --git a/libresonic.install b/libresonic.install
new file mode 100644
index 000000000000..756d6914b30c
--- /dev/null
+++ b/libresonic.install
@@ -0,0 +1,72 @@
+_homedir=/opt/libresonic
+_playlistdir=/var/lib/libresonic/playlists
+
+post_install() {
+ chmod +x /opt/libresonic/subsonic.sh
+ getent group subsonic &>/dev/null || groupadd --system subsonic > /dev/null
+ getent passwd subsonic &>/dev/null || useradd --system \
+ --home-dir /opt/libresonic \
+ --shell /usr/bin/nologin \
+ --gid subsonic \
+ --groups audio \
+ --comment "Subsonic user" \
+ subsonic > /dev/null
+ passwd --lock subsonic > /dev/null
+
+ fix_permissions
+ echo "*************************************************"
+ echo "* Edit /etc/conf.d/libresonic.conf to configure libresonic *"
+ echo "*************************************************"
+
+ systemctl daemon-reload
+}
+
+pre_remove() {
+ if [[ `systemctl is-active libresonic` == 'active' ]]; then
+ systemctl stop libresonic
+ fi
+}
+
+post_remove() {
+ getent passwd subsonic &>/dev/null && userdel subsonic >/dev/null
+ getent group subsonic &>/dev/null && groupdel subsonic >/dev/null
+}
+
+fix_permissions() {
+ chown -R subsonic:subsonic ${_homedir}
+ chown subsonic:subsonic ${_playlistdir}
+}
+
+pre_upgrade() {
+ rm -f /tmp/subsonic-was-active
+ if [[ `systemctl is-active libresonic` == 'active' ]]; then
+ touch /tmp/subsonic-was-active
+ echo "Stopping subsonic"
+ systemctl stop libresonic
+ fi
+}
+
+post_upgrade() {
+ post_install
+
+ echo "!! Subsonic's home dir is now located in /opt/libresonic/db."
+ echo " You will have to move the database located in "
+ echo " /var/subsonic/db to this new location."
+ echo ""
+ echo "!! This package now runs subsonic as the user 'subsonic'."
+ echo " You might need to edit permissions for your media folders."
+ rm -f /tmp/subsonic-was-active
+ echo ""
+ echo "!! Not restarting subsonic automatically."
+ echo " You might need to change configs"
+ echo ""
+ echo "!! Service is now called libresonic.service."
+ echo ""
+ echo "!! If you are upgrading, you may remove your /var/subsonic folder (once you verify you have everything first)"
+
+ if [ -e /tmp/subsonic-was-active ]; then
+ echo "Starting subsonic"
+ systemctl start libresonic
+ rm /tmp/subsonic-was-active
+ fi
+}