summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD29
-rw-r--r--sheepit-client.conf39
-rw-r--r--sheepit-client.service22
-rw-r--r--sheepit-client.sysusers1
-rw-r--r--sheepit-client.tmpfiles1
6 files changed, 111 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9dac414dee96
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = sheepit-client-systemd
+ pkgdesc = Systemd service for SheepIt client
+ pkgver = 0.0.0
+ pkgrel = 1
+ arch = any
+ license = GPL2
+ depends = sheepit-client-bin
+ conflicts = sheepit-client-git
+ backup = etc/conf.d/sheepit-client
+ source = sheepit-client.sysusers
+ source = sheepit-client.tmpfiles
+ source = sheepit-client.conf
+ source = sheepit-client.service
+ sha256sums = 9f79eb4c182e4c2b9da1a7a26724e6122e25b958615b3001c2708fb0243f7f11
+ sha256sums = ba7e49757345d04ae42a8a86fcee3ff53eb9fc86ef8a5b3db8895b5e4b42440a
+ sha256sums = 543e6e050fcadae27e646a4f6cd654b893035c47f89f14cf04ed0f6c25bd0d61
+ sha256sums = 42c9f6802ddeea2a2b9c8438e8c395689f4634c664fb04d7be7ecf30a9022f6c
+
+pkgname = sheepit-client-systemd
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e401bd1aed29
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Xyem <xyem@electricjungle.org>
+pkgname=sheepit-client-systemd
+pkgver=0.0.0
+pkgrel=1
+pkgdesc="Systemd service for SheepIt client"
+arch=('any')
+license=('GPL2')
+depends=('sheepit-client-bin')
+conflicts=('sheepit-client-git')
+backup=('etc/conf.d/sheepit-client')
+source=(
+ 'sheepit-client.sysusers'
+ 'sheepit-client.tmpfiles'
+ 'sheepit-client.conf'
+ 'sheepit-client.service'
+)
+sha256sums=(
+ '9f79eb4c182e4c2b9da1a7a26724e6122e25b958615b3001c2708fb0243f7f11'
+ 'ba7e49757345d04ae42a8a86fcee3ff53eb9fc86ef8a5b3db8895b5e4b42440a'
+ '543e6e050fcadae27e646a4f6cd654b893035c47f89f14cf04ed0f6c25bd0d61'
+ '42c9f6802ddeea2a2b9c8438e8c395689f4634c664fb04d7be7ecf30a9022f6c'
+)
+
+package() {
+ install -Dm644 "${pkgname%-systemd}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname%-systemd}.conf";
+ install -Dm644 "${pkgname%-systemd}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname%-systemd}.conf"
+ install -Dm644 "${pkgname%-systemd}.conf" "${pkgdir}/etc/conf.d/${pkgname%-systemd}"
+ install -Dm644 "${pkgname%-systemd}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname%-systemd}.service"
+}
diff --git a/sheepit-client.conf b/sheepit-client.conf
new file mode 100644
index 000000000000..b639792d1b61
--- /dev/null
+++ b/sheepit-client.conf
@@ -0,0 +1,39 @@
+# Configuration for the SheepIt client
+
+# Username and password (or render key)
+login=
+password=
+
+# Define which hardware can be used for rendering, defaults to 'CPU'.
+# Can be set to one of the following:
+# CPU CPU only
+# GPU GPU only
+# CPU_GPU CPU or GPU
+#compute-method=CPU
+
+# Number of cores/threads used by the renderer, defaults to maximum available.
+#cpu-cores=-1
+
+# Maximum memory allowed to be used by renderer in MB, defaults to maximum
+# available.
+#ram=2000M
+
+# Device name of the GPU.
+# See `sheepit-client --show-gpu` for detected devices.
+#compute-gpu=CUDA_0
+
+# Set render process priority, defaults to 19 (lowest).
+#priority=19
+
+# Maximum time to allow for each frame to be rendered in minutes.
+#rendertime=20
+
+# URL to use as a proxy.
+#proxy=http://login:password@host:port
+
+##############################################################################
+# The following settings are required for the function of the systemd service.
+##############################################################################
+
+cache-dir=/var/cache/sheepit-client/
+ui=text
diff --git a/sheepit-client.service b/sheepit-client.service
new file mode 100644
index 000000000000..e934e04fc365
--- /dev/null
+++ b/sheepit-client.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Service for SheepIt client
+After=network.target
+
+[Service]
+User=sheepit-client
+ExecStart=/usr/bin/sheepit-client -config /etc/conf.d/sheepit-client
+CacheDirectoryMode=700
+CacheDirectory=sheepit-client/
+NoNewPrivileges=true
+PrivateDevices=true
+ProtectControlGroups=true
+ProtectHome=true
+ProtectKernelTunables=true
+ProtectSystem=strict
+Restart=on-failure
+RestartSec=60
+RestrictNamespaces=true
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sheepit-client.sysusers b/sheepit-client.sysusers
new file mode 100644
index 000000000000..f1d0599a1d2b
--- /dev/null
+++ b/sheepit-client.sysusers
@@ -0,0 +1 @@
+u sheepit-client - -
diff --git a/sheepit-client.tmpfiles b/sheepit-client.tmpfiles
new file mode 100644
index 000000000000..ef0055cdbdc8
--- /dev/null
+++ b/sheepit-client.tmpfiles
@@ -0,0 +1 @@
+d /var/cache/sheepit-client 0700 sheepit-client sheepit-client