init: add installer script and systemctl service file

This commit is contained in:
Masahiko AMANO 2025-01-07 21:59:32 +03:00
parent 60b4e07f0c
commit 2c6b24b0fd
2 changed files with 41 additions and 0 deletions

30
install-web.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "Ты ридмишку не читал что ли? Сказано же русским языком: \"ПОД РУТОМ запускать\"!" >&2
exit 1
fi
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
echo "Идёт установка..." &&
echo "Чудодейство конфигурации..." &&
mkdir -p /etc/skazanull &&
cp $SCRIPT_DIR/web/web.conf.yml /etc/skazanull/web.conf.yml &&
chmod 640 /etc/skazanull/web.conf.yml &&
chown www-data:www-data /etc/skazanull/web.conf.yml &&
echo "Сборка..." &&
go build -C $SCRIPT_DIR/web -o $SCRIPT_DIR/bin/skazanull $SCRIPT_DIR/web/cmd/main.go &&
mkdir -p /opt/skazanull/bin &&
cp $SCRIPT_DIR/bin/skazanull /opt/skazanull/bin/skazanull &&
chmod 755 /opt/skazanull/bin/skazanull &&
echo "Установка сервиса в systemctl..." &&
cp $SCRIPT_DIR/web/snw.service /etc/systemd/system &&
chmod 644 /etc/systemd/system/snw.service &&
systemctl daemon-reload &&
systemctl start snw &&
echo "СказаНулл успешно установлен."

11
web/snw.service Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=SkazaNull Web
After=postgresql.service
[Service]
ExecStart=/opt/skazanull/bin/skazanull
User=www-data
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target