#!/bin/bash set -ueo pipefail export PATH="/lib/rc/bin:$PATH" SCRIPT=$(readlink -f $0) [[ $UID == 0 ]] && exec su - mastodon -c "$SCRIPT" . /var/db/repos/container/scripts/functions.sh . /var/db/repos/calculate/scripts/ini.sh set +u source ~/.node-live/bin/activate set -u export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" cd ~/live if ! [ "$(PGPASSWORD=${ini[postgresql.postgres_password]} psql -U postgres -XtAc "SELECT 1 FROM pg_database WHERE datname='${ini[postgresql.mastodon_database]}'" )" = '1' ] then SECRET_KEY_BASE=$(RAILS_ENV=production bundle exec rake secret) OTP_SECRET=$(RAILS_ENV=production bundle exec rake secret) vapid_array=($(RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key)) VAPID_PRIVATE_KEY=$(echo ${vapid_array[0]} | cut -d= -f2,3,4) VAPID_PUBLIC_KEY=$(echo ${vapid_array[1]} | cut -d= -f2,3,4) sed -i -E "s|(SECRET_KEY_BASE=).*|\1${SECRET_KEY_BASE}|g" ~/live/.env.production sed -i -E "s|(OTP_SECRET=).*|\1${OTP_SECRET}|g" ~/live/.env.production sed -i -E "s|(VAPID_PRIVATE_KEY=).*|\1${VAPID_PRIVATE_KEY}|g" ~/live/.env.production sed -i -E "s|(VAPID_PUBLIC_KEY=).*|\1${VAPID_PUBLIC_KEY}|g" ~/live/.env.production RAILS_ENV=production bundle exec rake db:setup RAILS_ENV=production bundle exec rake assets:precompile RAILS_ENV=production bin/tootctl accounts create ${ini[mastodon.login]} \ --email ${ini[mastodon.smtp_from_address]} \ --confirmed --role Owner einfo Mail: ${ini[mastodon.smtp_from_address]} einfo Login: ${ini[mastodon.login]} else RAILS_ENV=production bundle exec rake db:migrate:status fi