summarylogtreecommitdiffstats
path: root/mastodon.install
blob: edbad88f417bbe371c65cb4e410f23947c30fa53 (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
post_install() {
  getent passwd mastodon > /dev/null ||
    useradd -rd /var/lib/mastodon mastodon
  chown -R mastodon:mastodon /var/lib/mastodon

  echo "To setup Mastodon, enable and start PostgreSQL and Redis:
# systemctl enable --now postgresql redis
Create the Mastodon PostgreSQL user and grant it the ability to create databases with:
# su - postgres -s /bin/sh -c \"createdb -d mastodon\"
Then, run:
# su - mastodon -s /bin/sh -c \"cd '/var/lib/mastodon'; RAILS_ENV=production bundle exec rails mastodon:setup\"
Finally, enable and start all the required services:
# systemctl enable --now mastodon.target"
}

post_upgrade() {
  chown -R mastodon:mastodon /var/lib/mastodon

  echo "To upgrade the database schema, run:
# su - mastodon -s /bin/sh -c \"RAILS_ENV=production bundle exec rails db:migrate\"
To pre-compile assets, run:
# su - mastodon -s /bin/sh -c \"RAILS_ENV=production bundle exec rails assets:precompile\""
}

post_remove() {
  echo 'You may want to remove the Mastodon user.'
}