diff --git a/packages/normal/dendrite/DEBBUILD b/packages/normal/dendrite/DEBBUILD index f54d2b7..025380e 100644 --- a/packages/normal/dendrite/DEBBUILD +++ b/packages/normal/dendrite/DEBBUILD @@ -10,6 +10,7 @@ maintainer="Leafee98 " source=( "dendrite::git+https://github.com/matrix-org/dendrite.git#tag=v${pkgver}" + "dendrite.service::materials/dendrite.service" ) function build { @@ -22,8 +23,23 @@ function build { function package { for f in ${srcdir}/dendrite/bin/* do - install -Dm755 -t "${pkgdir}/usr/local/lib/dendrite/" "$f"; + install -Dm755 -t "${pkgdir}/usr/lib/dendrite/" "$f"; done install -Dm644 "${srcdir}/dendrite/dendrite-sample.yaml" "${pkgdir}/etc/dendrite/dendrite-sample.yaml" + install -Dm755 "${srcdir}/dendrite.service" "${pkgdir}/usr/lib/systemd/system/dendrite.service" +} + +function debian_postinst { + cat << 'EOF' +#!/usr/bin/env bash + +adduser --system dendrite + +systemctl daemon-reload + +if systemctl is-active --quiet dendrite.service ; then + systemctl restart dendrite.service +fi +EOF } diff --git a/packages/normal/dendrite/materials/dendrite.service b/packages/normal/dendrite/materials/dendrite.service new file mode 100644 index 0000000..9b11895 --- /dev/null +++ b/packages/normal/dendrite/materials/dendrite.service @@ -0,0 +1,18 @@ +[Unit] +Description=matrix home server +After=network.target +After=postgresql.service +After=nats-server.service + +[Service] +Type=simple +User=dendrite +Group=dendrite +ExecStart=/usr/lib/dendrite/dendrite -config /etc/dendrite/dendrite.yaml -http-bind-address 127.0.0.1:8008 +Restart=on-failure +RestartSec=5s +LimitNOFILE=65535 +MemoryMax=3072M + +[Install] +WantedBy=multi-user.target