forked from Sophia/thelinuxlist
43 lines
1.7 KiB
Bash
43 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
trap 'exit 130' INT
|
|
if [ ! -x /usr/bin/curl ] ; then
|
|
CURL_NOT_EXIST=1
|
|
apt install -y curl
|
|
else
|
|
CURL_NOT_EXIST=0
|
|
fi
|
|
NODE_LTS= "18.12.1"
|
|
sudo apt update && apt upgrade -y
|
|
sudo apt install postgresql postgresql-contrib ffmpeg redis-server npm yarn -y
|
|
sudo systemctl start postgresql.service
|
|
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
|
|
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
|
|
curl -fsSL -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
|
|
|