58 lines
1.6 KiB
Bash
Executable File
58 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# bless you chris and andy <3
|
|
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
MNML_PATH=$(realpath "$DIR/../")
|
|
|
|
if [ ! -f $MNML_PATH/etc/mnml.env ]; then
|
|
echo "create an env file in $MNML_PATH/etc/mnml.env"
|
|
echo "see $MNML_PATH/etc/mnml.SAMPLE.env for details"
|
|
exit 1;
|
|
fi
|
|
|
|
source $MNML_PATH/etc/mnml.env
|
|
|
|
# DIRECTORY SETUP
|
|
sudo mkdir -p /opt/mnml
|
|
sudo chown $MNML_USER: /opt/mnml
|
|
|
|
sudo mkdir -p /var/lib/mnml
|
|
sudo chown $MNML_USER: /var/lib/mnml
|
|
mkdir -p /var/lib/mnml/public
|
|
|
|
sudo mkdir -p /var/log/mnml
|
|
sudo chown $MNML_USER: /var/log/mnml
|
|
|
|
sudo ln -nfs $MNML_PATH/current /opt/mnml
|
|
|
|
# SERVICES
|
|
sudo cp $MNML_PATH/etc/systemd/system/mnml.service /etc/systemd/system
|
|
|
|
# POSTGRES SETUP
|
|
sudo -u postgres dropdb mnml
|
|
sudo -u postgres createdb mnml
|
|
sudo -u postgres createuser --encrypted mnml
|
|
|
|
echo "DATABASE_URL=postgres://mnml:$MNML_PG_PASSWORD@$MNML_PG_HOST/mnml" > $MNML_PATH/server/.env
|
|
|
|
sudo -u postgres psql -c "alter user mnml with encrypted password '$MNML_PG_PASSWORD';"
|
|
|
|
cd $MNML_PATH/ops && npm run migrate
|
|
|
|
# RUST SETUP
|
|
# cargo build
|
|
# cp -r $MNML_PATH/server/target/release /opt/mnml/bin
|
|
|
|
# NGINX
|
|
if [ ! -f $MNML_PATH/etc/nginx/sites-available/mnml.gg.nginx.conf ]; then
|
|
echo "create an env file in $MNML_PATH/etc/nginx/sites-available/mnml.gg.nginx.conf"
|
|
echo "see $MNML_PATH/etc/nginx/sites-available/mnml.gg.DEV.nginx.conf for details"
|
|
exit 1;
|
|
fi
|
|
|
|
sudo cp $MNML_PATH/etc/nginx/sites-available/mnml.gg.nginx.conf /etc/nginx/sites-available
|
|
sudo ln -nfs /etc/nginx/sites-available/mnml.gg.nginx.conf /etc/nginx/sites-enabled/mnml.gg.nginx.conf
|
|
cd $MNML_PATH/client && npm run build
|
|
|
|
sudo service nginx restart
|