diff --git a/quasselcore/quasselcert.path b/quasselcore/quasselcert.path new file mode 100644 index 0000000..391c380 --- /dev/null +++ b/quasselcore/quasselcert.path @@ -0,0 +1,8 @@ +[Unit] +Description=Refresh quassel certificates + +[Path] +PathChanged=/etc/letsencrypt/live/unit.abbiamoundominio.org/cert.pem + +[Install] +WantedBy=multi-user.target diff --git a/quasselcore/quasselcert.service b/quasselcore/quasselcert.service new file mode 100644 index 0000000..f444ca4 --- /dev/null +++ b/quasselcore/quasselcert.service @@ -0,0 +1,6 @@ +[Unit] +Description=Refresh quassel certificates + +[Service] +Type=oneshot +ExecStart=/bin/bash -c "cat /etc/letsencrypt/live/unit.abbiamoundominio.org/{fullchain,privkey}.pem > /var/lib/quassel/quasselCert.pem && chown quasselcore:quassel /var/lib/quassel/quasselCert.pem" diff --git a/quasselcore/quasselcore.path b/quasselcore/quasselcore.path new file mode 100644 index 0000000..8a87b76 --- /dev/null +++ b/quasselcore/quasselcore.path @@ -0,0 +1,8 @@ +[Unit] +Description=Refresh quasselcore after certificates change + +[Path] +PathChanged=/var/lib/quassel/quasselCert.pem + +[Install] +WantedBy=multi-user.target diff --git a/quasselcore/quasselcore.service b/quasselcore/quasselcore.service new file mode 100644 index 0000000..47e4d5f --- /dev/null +++ b/quasselcore/quasselcore.service @@ -0,0 +1,18 @@ +[Unit] +Description=distributed IRC client using a central core component +Documentation=man:quasselcore(1) +Wants=network-online.target postgresql.service +After=network-online.target postgresql.service + +[Service] +User=quasselcore +Group=quassel +WorkingDirectory=/var/lib/quassel +Environment="DATADIR=/var/lib/quassel" "LOGFILE=/var/log/quassel/core.log" "LOGLEVEL=Info" "PORT=4242" "LISTEN=::,0.0.0.0" +EnvironmentFile=-/etc/default/quasselcore +ExecStart=/usr/local/bin/quasselcore --configdir=${DATADIR} --logfile=${LOGFILE} --loglevel=${LOGLEVEL} --port=${PORT} --listen=${LISTEN} --require-ssl --ssl-cert=${SSL_CERT} --ssl-key=${SSL_KEY} +Restart=on-failure + +[Install] +WantedBy=multi-user.target +