unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 33 lines 1.3 kB view raw
1#!/bin/bash 2 3# Use this to update the admin user in Wafrn to support login to the bsky PDS instance 4 5SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) 6 7source "${SCRIPT_DIR}/../../.env" 8 9NEW_USERNAME=${1:-wafrnadmin} 10 11echo Generating new invite code 12 13NEW_CODE=$(docker exec wafrn-pds-1 wget -q -O - --header "Content-Type: application/json" --post-data '{"useCount":1}' http://admin:${PDS_ADMIN_PASSWORD}@localhost:3000/xrpc/com.atproto.server.createInviteCode | jq --raw-output '.code') 14 15echo Invite code genrated: ${NEW_CODE} 16 17PASSWORD=$(openssl rand -base64 24 | tr '+/' '_-') 18 19echo Password generated was "\"$PASSWORD\"" 20 21echo Creating admin account 22 23RESULT=$(docker exec wafrn-pds-1 wget -q -O - --header "Content-Type: application/json" --post-data "{\"email\":\"${ADMIN_USER}@${DOMAIN_NAME}\", \"handle\":\"${NEW_USERNAME}.${PDS_DOMAIN_NAME}\", \"password\":\"${PASSWORD}\", \"inviteCode\":\"${NEW_CODE}\"}" http://admin:${PDS_ADMIN_PASSWORD}@localhost:3000/xrpc/com.atproto.server.createAccount) 24 25echo $RESULT 26 27DID="$(echo $RESULT | jq --raw-output '.did')" 28 29echo "Generated DID: ${DID}" 30 31echo "Updating database with details" 32 33docker exec -i wafrn-db-1 psql -d ${POSTGRES_DBNAME} -c "UPDATE users SET \"bskyAuthData\"='${PASSWORD}', \"bskyDid\"='${DID}', \"enableBsky\"=TRUE WHERE url = '${ADMIN_USER}';"