2022-05-04 11:57:40 -06:00
|
|
|
#!/bin/bash
|
|
|
|
export SHELL="/bin/bash"
|
|
|
|
FILE='/tmp/config/prod.secret.exs'
|
|
|
|
BACKUP_CONFIG='/config/prod.secret.exs'
|
|
|
|
PG_CHECK='/var/lib/postgresql/data/pg_hba.conf'
|
|
|
|
|
|
|
|
crontab /opt/crontab
|
|
|
|
|
|
|
|
#Postgres Setup
|
|
|
|
chown -R postgres:postgres /run/postgresql/
|
|
|
|
chown -R postgres:postgres /var/lib/postgresql
|
|
|
|
chown -R postgres:postgres /var/log/postgresql
|
|
|
|
|
|
|
|
if [ -f "$BACKUP_CONFIG" ]
|
|
|
|
then
|
|
|
|
echo;echo "Copying old config....";echo
|
|
|
|
cp -f /config/* /opt/pleroma/config/
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -f "$PG_CHECK" ]
|
|
|
|
then
|
|
|
|
su postgres -s $SHELL -lc "/usr/lib/postgresql/14/bin/initdb --auth-host=trust -D /var/lib/postgresql/data"
|
|
|
|
echo "host all all 0.0.0.0/0 md5" >> /var/lib/postgresql/data/pg_hba.conf
|
|
|
|
fi
|
|
|
|
|
|
|
|
su postgres -s $SHELL -lc "/usr/lib/postgresql/14/bin/pg_ctl start -D /var/lib/postgresql/data"
|
|
|
|
|
|
|
|
cd /opt/pleroma
|
|
|
|
|
|
|
|
#Pleroma Configuration
|
|
|
|
if [ ! -f "$FILE" ]
|
|
|
|
then
|
2022-05-04 12:14:28 -06:00
|
|
|
su pleroma -s /bin/bash -lc 'MIX_ENV=prod mix pleroma.instance gen'
|
|
|
|
su pleroma -s /bin/bash -lc 'mv config/generated_config.exs config/prod.secret.exs'
|
|
|
|
su pleroma -s /bin/bash -lc 'cp -f config/* /config/'
|
2022-05-04 11:57:40 -06:00
|
|
|
sudo -Hu postgres psql -f config/setup_db.psql
|
|
|
|
fi
|
|
|
|
|
2022-05-04 12:14:28 -06:00
|
|
|
su pleroma -s /bin/bash -lc 'mkdir -p /var/lib/pleroma/uploads'
|
|
|
|
su pleroma -s /bin/bash -lc 'mkdir -p /var/lib/pleroma/static'
|
2022-05-04 11:57:40 -06:00
|
|
|
|
|
|
|
#Nginx and SSL
|
|
|
|
sed -i "s/replaceME/${ENDPOINT}/g" /etc/nginx/conf.d/default.conf
|
|
|
|
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=CO/L=Denver/O=$ENDPOINT/CN=$ENDPOINT" -keyout /etc/ssl/certs/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
|
|
|
|
mkdir /var/run/nginx
|
|
|
|
|
|
|
|
#Database Migrations
|
2022-05-04 12:14:28 -06:00
|
|
|
su pleroma -s /bin/bash -lc 'MIX_ENV=prod mix ecto.migrate'
|
2022-05-04 11:57:40 -06:00
|
|
|
|
|
|
|
touch /configured.txt
|
|
|
|
|
|
|
|
#Start Pleroma
|
2022-05-04 12:14:28 -06:00
|
|
|
su pleroma -s /bin/bash -lc 'MIX_ENV=prod mix phx.server'
|
2022-05-04 11:57:40 -06:00
|
|
|
|
|
|
|
|