77 lines
1.6 KiB
Bash
Executable File
77 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
nginx_dir=${1:-/etc/nginx}
|
|
|
|
sudo pacman -Syu nginx
|
|
|
|
# Clone
|
|
mkdir ~/src
|
|
cd ~/src
|
|
git clone https://github.com/Simponic/guestbook
|
|
|
|
cd guestbook
|
|
npm ci
|
|
|
|
# Make .env
|
|
[ ! -f .env ] && cp .env.example .env && vim .env
|
|
|
|
# Make systemd service
|
|
if [ ! -f ~/.config/systemd/user/guestbookd.service ]
|
|
then
|
|
mkdir -p ~/.config/systemd/user/
|
|
cp guestbookd.service ~/.config/systemd/user
|
|
vim ~/.config/systemd/user/guestbookd.service
|
|
fi
|
|
|
|
# NGINX
|
|
nginx_config="
|
|
worker_processes 1;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
sendfile on;
|
|
keepalive_timeout 65;
|
|
|
|
include $nginx_dir/sites-enabled/*.http;
|
|
}
|
|
"
|
|
|
|
guestbook_config="
|
|
upstream soc {
|
|
server unix:/tmp/guestbookd.sock;
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
|
|
location / {
|
|
proxy_pass http://soc;
|
|
proxy_set_header X-Real-IP \\\$remote_addr;
|
|
proxy_set_header X-Forwarded-For \\\$proxy_add_x_forwarded_for;
|
|
proxy_set_header Host \\\$host;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade \\\$http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
}
|
|
}
|
|
"
|
|
|
|
sudo mkdir $nginx_dir/sites-available $nginx_dir/sites-enabled
|
|
sudo sh -c "echo \"$nginx_config\" | sudo tee $nginx_dir/nginx.conf"
|
|
sudo sh -c "echo \"$guestbook_config\" | sudo tee $nginx_dir/sites-available/guestbook.conf.http"
|
|
sudo ln -s $nginx_dir/sites-available/guestbook.conf.http $nginx_dir/sites-enabled/guestbook.conf.http
|
|
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable --now nginx
|
|
|
|
systemctl daemon-reload --user
|
|
systemctl enable --user --now guestbookd
|
|
|
|
sudo ufw allow 80
|