summarylogtreecommitdiffstats
path: root/airsonic.install
blob: 480c1df21cacc90be83625ab414727366766f6c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
_homedir=/var/lib/airsonic
_playlistdir=${_homedir}/playlists

post_install() {

    getent group airsonic &>/dev/null || groupadd --system airsonic > /dev/null
    getent passwd airsonic &>/dev/null || useradd --system \
                                                  --home-dir /var/lib/airsonic \
                                                  --shell /usr/bin/nologin \
                                                  --gid airsonic \
                                                  --groups audio \
                                                  --comment "Airsonic user" \
                                                  airsonic > /dev/null
    passwd --lock airsonic &> /dev/null

    fix_permissions
    echo "*************************************************"
    echo "* Edit /etc/airsonic.conf to configure airsonic *"
    echo "*************************************************"

    systemctl daemon-reload
}

pre_remove() {
    if [[ `systemctl is-active airsonic` == 'active' ]]; then
        systemctl stop airsonic
    fi
}

post_remove() {
    getent passwd airsonic &>/dev/null && userdel airsonic &>/dev/null
}

fix_permissions() {
    chown -R airsonic:airsonic ${_homedir}
    chown airsonic:airsonic ${_playlistdir}
}

pre_upgrade() {
    rm -f /tmp/airsonic-was-active
    if [[ `systemctl is-active airsonic` == 'active' ]]; then
        touch /tmp/airsonic-was-active
        echo "Stopping airsonic"
        systemctl stop airsonic
    fi
}

post_upgrade() {
    post_install
    if [ -e /tmp/airsonic-was-active ]; then
        echo "Starting airsonic"
        systemctl start airsonic
        rm /tmp/airsonic-was-active
    fi
}