58 lines
2.0 KiB
Bash
58 lines
2.0 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"
|
|
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
|
|
PASSWD_GEN=$(openssl rand -base64 10)
|
|
sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';"
|
|
sudo -i -u postgres psql -c "CREATE USER misskey WITH PASSWORD '$PASSWD_GEN';"
|
|
sudo -i -u postgres psql -c "CREATE DATABASE misskey;"
|
|
sudo -i -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE misskey to misskey;"
|
|
sudo -i -u postgres psql -c "ALTER DATABASE misskey OWNER TO misskey;"
|
|
adduser --disabled-password --disabled-login misskey
|
|
sudo -i -u misskey
|
|
git clone -b master https://github.com/misskey-dev/misskey.git
|
|
cd misskey
|
|
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
|
|
|