51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
touch /state/.starting
 | 
						|
echo "mastodon-startup starting up..."
 | 
						|
 | 
						|
if [[ ! -d /state/envdir ]]; then
 | 
						|
    mkdir -p /state/envdir
 | 
						|
fi
 | 
						|
 | 
						|
if [[ ! -e /state/envdir/HOME ]]; then
 | 
						|
    echo "/mastodon" > /state/envdir/HOME
 | 
						|
fi
 | 
						|
 | 
						|
if [[ ! -e /state/envdir/RAILS_ENV ]]; then
 | 
						|
    echo "production" > /state/envdir/RAILS_ENV
 | 
						|
fi
 | 
						|
 | 
						|
chown mastodon:mastodon /state/envdir /state/envdir/*
 | 
						|
 | 
						|
cd /mastodon/app
 | 
						|
 | 
						|
if [[ ! -e /state/envdir/OTP_SECRET ]]; then
 | 
						|
  envdir /state/envdir \
 | 
						|
      chpst -u mastodon:mastodon \
 | 
						|
      bash -i -c "bundle exec rake secret > /state/envdir/OTP_SECRET"
 | 
						|
fi
 | 
						|
 | 
						|
if [[ ! -e /state/envdir/SECRET_KEY_BASE ]]; then
 | 
						|
  envdir /state/envdir \
 | 
						|
      chpst -u mastodon:mastodon \
 | 
						|
      bash -i -c "bundle exec rake secret > /state/envdir/SECRET_KEY_BASE"
 | 
						|
fi
 | 
						|
 | 
						|
echo "
 | 
						|
    create database mastodon_production;
 | 
						|
    create user mastodon createdb;
 | 
						|
    grant all privileges on database mastodon_production to mastodon;
 | 
						|
" | chpst -u postgres:postgres psql
 | 
						|
 | 
						|
if [[ -n "$RUN_DB_MIGRATIONS" ]]; then
 | 
						|
  echo "Running database migrations..."
 | 
						|
  envdir /state/envdir \
 | 
						|
      chpst -u mastodon:mastodon \
 | 
						|
      bash -i -c "bundle exec rake db:migrate"
 | 
						|
fi
 | 
						|
 | 
						|
rm /state/.starting
 | 
						|
while true ; do
 | 
						|
    sleep 86400
 | 
						|
done
 |