Omnibus-style container for Rebased and Soapbox
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.7 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. #!/bin/bash
  2. set -e
  3. if [ -n "$IP" ]; then
  4. echo "Will check name resolution."
  5. resolv=$(curl "https://dns.google/resolve?name=$DOMAIN" | jq -c -r .Answer[0].data)
  6. while [ "$resolv" != "$IP" ]; do
  7. echo "Waiting for name to resolve properly (want $IP for $DOMAIN, got $resolv)..."
  8. sleep 60
  9. resolv=$(curl "https://dns.google/resolve?name=$DOMAIN" | jq -c -r .Answer[0].data)
  10. done
  11. echo "$DOMAIN resolves to $resolv"
  12. fi
  13. export DATABASE_URL="postgres://pleroma:bleromer@localhost:5433/pleroma"
  14. echo "-- Setting up PostgreSQL..."
  15. chown -R postgres:postgres /var/lib/postgresql/14
  16. chmod -R 750 /var/lib/postgresql/14
  17. set +e
  18. pg_createcluster 14 pleroma
  19. cp /etc/postgresql/14/pleroma/*.conf /var/lib/postgresql/14/pleroma
  20. set -e
  21. pg_ctlcluster 14 pleroma start
  22. gosu postgres /run/postgres.sh
  23. echo "-- Starting Caddy..."
  24. chown -R caddy:caddy /caddy
  25. sed -i -e "s/{{domain}}/$DOMAIN/" /etc/Caddyfile
  26. gosu caddy caddy start --config /etc/Caddyfile
  27. echo "-- Running migrations..."
  28. gosu pleroma sh -c "/opt/pleroma/bin/pleroma_ctl migrate"
  29. if [ ! -f "/var/lib/pleroma/uploads/.migrated" ]; then
  30. echo "-- Transferring config to database"
  31. gosu pleroma sh -c "/opt/pleroma/bin/pleroma start" &
  32. sleep 10
  33. gosu pleroma sh -c "/opt/pleroma/bin/pleroma_ctl config migrate_to_db"
  34. if [ -n "ADMIN" ]; then
  35. echo "-- Creating admin user"
  36. set +e
  37. gosu pleroma sh -c "/opt/pleroma/bin/pleroma_ctl user new $ADMIN admin@$DOMAIN --password \"$PASSWORD\" --admin -y"
  38. set -e
  39. fi
  40. gosu pleroma sh -c "/opt/pleroma/bin/pleroma stop" &
  41. echo "migrated" > /var/lib/pleroma/uploads/.migrated
  42. sleep 10
  43. else
  44. echo "-- Already migrated config to DB. Skipping."
  45. fi
  46. echo "-- Starting!"
  47. gosu pleroma sh -c "/opt/pleroma/bin/pleroma start"