thelinuxlist/scripts/misskeyinstall.sh

60 lines
1.8 KiB
Bash

#!/bin/bash
while true
do
read -r -p "Would you like to install Misskey? [Y/n] " input
case $input in
[yY][eE][sS]|[yY])
break
;;
[nN][oO]|[nN])
break
;;
*)
echo "That wasn't an option..."
;;
esac
done
NODE_LTS= "18.12.1"
PASSWD_GEN=$(openssl rand -base64 10)
sudo apt update && apt upgrade -y
sudo apt install postgresql postgresql-contrib -y
sudo systemctl start postgresql.service
sudo apt install npm -y
sudo apt install redis-server -y
sudo apt install ffmpeg -y
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc
nvm install node
nvm install v$NODE_LTS
nvm use v$NODE_LTS
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn
sudo -i -u postgres
psql
CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';
CREATE DATABASE misskey;
GRANT ALL PRIVILEGES ON DATABASE misskey to misskey;
ALTER DATABASE misskey OWNER TO misskey;
\q
exit
adduser --disabled-password --disabled-login misskey
su - misskey
git clone -b master https://github.com/misskey-dev/misskey.git
git checkout master
yarn
cp .config/example.yml .config/default.yml
sed -e "s|user: example-misskey-user = ''user: = 'misskey'|" >> .config/default.yml
sed -e "s|user: example-misskey-pass = ''user: = '$PASSWD_GEN'|" >> .config/default.yml
NODE_ENV=production yarn build
yarn run init
exit
sudo wget -O /etc/systemd/system/misskey.service https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/systemd/misskey.service
sudo systemctl daemon-reload
sudo systemctl enable misskey.service
sudo systemctl start misskey.service