misskey/setup.sh
Your Name 018fa87ba8 fix
2023-05-13 16:21:21 -06:00

61 lines
2.2 KiB
Bash

#!/bin/bash
export SHELL="/bin/bash"
cd /opt/misskey
postgres-check() {
POSTGRES_CHECK=$(ps aux | grep -i logical | head -1)
if [[ "$POSTGRES_CHECK" = *"replication"* ]]; then
echo "Postgres is running!"
else
echo "Postgres is not in Running yet!"
sleep 2
postgres-check
fi
}
misskey() {
cd /opt/misskey
npm install -g pnpm vite
git submodule update --init
pnpm install --frozen-lockfile
NODE_ENV=production pnpm run build
}
database() {
mkdir /run/postgresql
mkdir -p $PG_DIR
chown -R postgres:postgres /run/postgresql/
chown -R postgres:postgres /var/lib/postgresql
chown -R postgres:postgres /var/log/postgresql
chmod 0700 $PG_DIR
ls $PG_DIR
su postgres -s $SHELL -lc "$PG_BIN/initdb --auth-host=trust -D $PG_DIR"
cp -f /etc/postgresql.conf $PG_DIR
cp -f /etc/pg_hba.conf $PG_DIR
chown -R postgres:postgres $PG_DIR
su postgres -s $SHELL -lc "$PG_BIN/pg_ctl start -D $PG_DIR" &
postgres-check
echo "SELECT pg_reload_conf();" | su postgres -s /bin/bash -lc "psql "
echo "create user root with encrypted password 'sql';" | su postgres -s $SHELL -lc psql
echo "ALTER ROLE root SUPERUSER;" | su postgres -s $SHELL -lc psql
echo "CREATE DATABASE misskey with template = template0 OWNER = root ENCODING = 'UTF8';" | su postgres -s $SHELL -lc psql
echo "CREATE EXTENSION IF NOT EXISTS citext;" | PGPASSWORD=sql psql -U root misskey
echo "CREATE EXTENSION IF NOT EXISTS pg_trgm;" | PGPASSWORD=sql psql -U root misskey
echo "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";" | PGPASSWORD=sql psql -U root misskey
}
database
misskey
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/privkey.key -out /etc/ssl/certs/fullchain.crt
sed -i "s/ENDPOINT/${ENDPOINT}/g" /opt/misskey/.config/default.yml
sed -i "s/misskeyDATABASE/${DB_NAME}/g" /opt/misskey/.config/default.yml
sed -i "s/example-misskey-user/${DB_USERNAME}/g" /opt/misskey/.config/default.yml
sed -i "s/example-misskey-pass/${DB_PASSWORD}/g" /opt/misskey/.config/default.yml
sed -i "s/ENDPOINT/${ENDPOINT}/g" /etc/nginx/sites-enabled/misskey.conf
cp -f /usr/share/zoneinfo/US/Mountain /etc/localtime
yarn run init
touch /configured.txt