summaryrefslogtreecommitdiffstats
path: root/scripts/sh/deploy_ergo.sh
diff options
context:
space:
mode:
authorGeorg Pfuetzenreuter2021-07-23 18:21:27 +0200
committerGeorg Pfuetzenreuter2021-07-23 18:21:27 +0200
commit9ad1234cc4c05e5ee5d3dede508652bb30fe0966 (patch)
tree212c5884681979f61c60c5c7bc6724abedf824a0 /scripts/sh/deploy_ergo.sh
parentb3f17a47211f21ab290023086c4c852ab16f5cce (diff)
downloadsystem-9ad1234cc4c05e5ee5d3dede508652bb30fe0966.tar.gz
system-9ad1234cc4c05e5ee5d3dede508652bb30fe0966.tar.bz2
system-9ad1234cc4c05e5ee5d3dede508652bb30fe0966.zip
Ergo deployment improvements, new Ergo update and Ergo removal scripts
Signed-off-by: Georg Pfuetzenreuter <georg@lysergic.dev>
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."