Laminar/run/mastodon/workspace/setup_mastodon.sh

42 lines
1.6 KiB
Bash
Raw Normal View History

2024-10-10 22:36:29 +09:00
#!/usr/bin/env bash
set -euox pipefail
cd /home/mastodon
git clone https://github.com/mastodon/mastodon.git live && cd live
2024-10-11 18:38:45 +09:00
git checkout "$(git tag -l | grep '^v[0-9.]*$' | sort -V | tail -n 1)"
2024-10-10 22:36:29 +09:00
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
{
2024-10-11 18:38:45 +09:00
# shellcheck disable=SC2016
2024-10-10 22:36:29 +09:00
echo 'export PATH="$HOME/.rbenv/bin:$PATH"'
2024-10-11 18:38:45 +09:00
# shellcheck disable=SC2016
2024-10-10 22:36:29 +09:00
echo 'eval "$(rbenv init -)"'
2025-02-10 21:37:43 +09:00
# shellcheck disable=SC2016
echo 'export RAILS_ENV=production'
2024-10-10 22:36:29 +09:00
} | tee -a ~/.bashrc ~/.profile
2024-10-11 18:38:45 +09:00
# shellcheck disable=SC1090
2024-10-10 22:36:29 +09:00
source ~/.profile
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install
bundle config deployment 'true'
bundle config without 'development test'
2024-10-11 18:38:45 +09:00
bundle install -j"$(getconf _NPROCESSORS_ONLN)"
yarn install
# Next steps are manual when container is started for the first time
# https://docs.joinmastodon.org/admin/install/#generating-a-configuration
2025-02-10 21:37:43 +09:00
# If upgrading from a previous image, rough notes until automated
# cp /home/mastodon/live/.env.production /home/mastodon/backup/
# sudo -u postgres pg_dump -d mastodon_production -F c | tee /home/mastodon/backup/mastodon_production.sql > /dev/null
# tofu apply
2025-02-10 21:37:43 +09:00
# sudo -u postgres createdb mastodon_production
# cat /home/mastodon/backup/mastodon_production.sql | sudo -u postgres pg_restore -d mastodon_production -F c
# sudo -u mastodon -i
# cd backup/.env.production live/
# cd live
# bin/rails assets:precompile
# cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
# systemctl daemon-reload
# systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming
# sudo -u mastdon -i
# bin/tootctl feeds build