#!/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 chmod -R 777 /config if [ -f "$BACKUP_CONFIG" ] then echo;echo "Copying old config....";echo cp -f /config/* /opt/pleroma/config/ fi chown -R pleroma:pleroma /opt/pleroma; 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"& sleep 5 echo "create user root with encrypted password 'sql';"| su postgres -s /bin/bash -lc psql echo "ALTER ROLE root SUPERUSER;" | su postgres -s /bin/bash -lc psql #Pleroma Configuration if [ ! -f "$FILE" ] then su pleroma -s /bin/bash -lc 'cd /opt/pleroma;MIX_ENV=prod mix pleroma.instance gen' su pleroma -s /bin/bash -lc 'cd /opt/pleroma;mv config/generated_config.exs config/prod.secret.exs' su pleroma -s /bin/bash -lc 'cd /opt/pleroma;cp -f config/* /config/' su postgres -s /bin/bash -lc 'psql -f /config/setup_db.psql' fi su pleroma -s /bin/bash -lc 'mkdir -p /var/lib/pleroma/uploads;mkdir -p /var/lib/pleroma/static' #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 su pleroma -s /bin/bash -lc 'cd /opt/pleroma;MIX_ENV=prod mix ecto.migrate' touch /configured.txt #Start Pleroma su pleroma -s /bin/bash -lc 'cd /opt/pleroma;MIX_ENV=prod mix phx.server'