summaryrefslogtreecommitdiffstats
path: root/scripts/sh/deploy_ergo.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/sh/deploy_ergo.sh')
-rwxr-xr-xscripts/sh/deploy_ergo.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/sh/deploy_ergo.sh b/scripts/sh/deploy_ergo.sh
index 83b6b03..29eb9e0 100755
--- a/scripts/sh/deploy_ergo.sh
+++ b/scripts/sh/deploy_ergo.sh
@@ -21,6 +21,34 @@ cd /opt/ergo/ergo-git
sudo -u ergo make build
sudo -u ergo chmod +x ergo
ln -s /opt/ergo/ergo-git/ergo /opt/ergo/ergo
+cat <<'EOF' >/etc/systemd/system/ergo.service
+[Unit]
+Description=Ergo IRCd
+After=network.target
+
+[Service]
+Type=simple
+User=ergo
+Group=ergo
+ExecStart=/opt/ergo/ergo run --conf /opt/ergo/ircd.yaml
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+LimitNOFILE=1048576
+SyslogIdentifier=ergo
+
+[Install]
+WantedBy=multi-user.target
+EOF
+sudo -u ergo cp /opt/ergo/ergo-git/default.yaml /opt/ergo/ircd.yaml
+sudo -u ergo mkdir /opt/ergo/tls
+sed -i 's/path: ircd.db/path: \/opt\/ergo\/ircd.db/' /opt/ergo/ircd.yaml
+sed -i 's/cert: fullchain.pem/cert: \/opt\/ergo\/tls\/fullchain.pem/' /opt/ergo/ircd.yaml
+sed -i 's/key: privkey.pem/key: \/opt\/ergo\/tls\/privkey.pem/' /opt/ergo/ircd.yaml
+sed -i 's/path: languages/path: \/opt\/ergo\/ergo-git\/languages/' /opt/ergo/ircd.yaml
+sudo -u ergo /opt/ergo/ergo initdb --conf /opt/ergo/ircd.yaml
+sudo -u ergo /opt/ergo/ergo mkcerts --conf /opt/ergo/ircd.yaml
+systemctl enable ergo.service
+systemctl start ergo.service
fi
else
echo "This is currently only compatible with Go 1.16.6 or higher. Consider deploy_go.sh."