54 lines
1.3 KiB
Bash
54 lines
1.3 KiB
Bash
#!/bin/sh
|
|
# It's very important to set user/group correctly.
|
|
|
|
mastodon_dir='/var/lib/mastodon'
|
|
|
|
if ! getent group mastodon 1>/dev/null; then
|
|
echo '* Creating group mastodon' 1>&2
|
|
|
|
addgroup -S mastodon
|
|
fi
|
|
|
|
if ! id mastodon 2>/dev/null 1>&2; then
|
|
echo '* Creating user mastodon' 1>&2
|
|
|
|
adduser -DHS -G mastodon -h "$mastodon_dir" -s /bin/sh \
|
|
-g "added by apk for mastodon" mastodon
|
|
passwd -u mastodon 1>/dev/null # unlock
|
|
fi
|
|
|
|
if ! id -Gn mastodon | grep -Fq redis; then
|
|
echo '* Adding user mastodon to group redis' 1>&2
|
|
|
|
addgroup mastodon redis
|
|
fi
|
|
|
|
if [ "$(id -gn mastodon)" != 'mastodon' ]; then
|
|
cat >&2 <<-EOF
|
|
!!
|
|
!! User mastodon has primary group $(id -gn mastodon). We strongly recommend to change
|
|
!! mastodon's primary group to mastodon.
|
|
!!
|
|
EOF
|
|
|
|
# Add it at least as a supplementary group.
|
|
adduser mastodon mastodon
|
|
fi
|
|
|
|
user_home="$(getent passwd mastodon | cut -d: -f6)"
|
|
|
|
if [ "$user_home" != "$mastodon_dir" ]; then
|
|
cat >&2 <<-EOF
|
|
!!
|
|
!! User mastodon has home directory in $user_home, but this package assumes
|
|
!! $mastodon_dir. Although it's possible to use a different directory,
|
|
!! it's really not easy.
|
|
!!
|
|
!! Please change mastodon's home directory to $mastodon_dir, or adjust settings
|
|
!! and move files yourself. Otherwise Mastodon will not work!
|
|
!!
|
|
EOF
|
|
fi
|
|
|
|
exit 0
|
|
|