#!/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