From 2c6b24b0fdf304922c197b30ebc9cc4d5cc5bd79 Mon Sep 17 00:00:00 2001 From: Masahiko AMANO Date: Tue, 7 Jan 2025 21:59:32 +0300 Subject: [PATCH] init: add installer script and systemctl service file --- install-web.sh | 30 ++++++++++++++++++++++++++++++ web/snw.service | 11 +++++++++++ 2 files changed, 41 insertions(+) create mode 100755 install-web.sh create mode 100644 web/snw.service diff --git a/install-web.sh b/install-web.sh new file mode 100755 index 0000000..2b1d06a --- /dev/null +++ b/install-web.sh @@ -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 "СказаНулл успешно установлен." diff --git a/web/snw.service b/web/snw.service new file mode 100644 index 0000000..0c1d64f --- /dev/null +++ b/web/snw.service @@ -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