blob: b9180cda54a6ab25613dd61266ad88c18e87871b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
[Unit]
Description=Immich server
Documentation=https://github.com/immich-app/immich
Requires=redis.service
Requires=postgresql.service
After=network.target
Wants=network-online.target
After=network-online.target
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
User=immich
Group=immich
Type=simple
Restart=on-failure
EnvironmentFile=/etc/immich.conf
Environment=NODE_ENV=production NVIDIA_DRIVER_CAPABILITIES=all NVIDIA_VISIBLE_DEVICES=all
Environment=IMMICH_BUILD_DATA=/usr/lib/immich/build
SyslogIdentifier=immich-server
ExecStart=node dist/main
ProtectHome=true
ProtectSystem=strict
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
# hardware transcoding access, based on hwaccel.transcoding.yml
DeviceAllow=char-drm rw
DeviceAllow=char-nvidia* rw
SupplementaryGroups=render video
# if you use Rockchip you might want to just PrivateDevices=false
RestrictNamespaces=yes
SystemCallArchitectures=native
AmbientCapabilities=
CapabilityBoundingSet=
NoNewPrivileges=yes
WorkingDirectory=/usr/lib/immich/app/server
ReadWritePaths=/tmp /var/tmp /var/lib/immich/upload /var/lib/immich/.cache
# overwrites ffmpeg in /usr/bin with the jellyfin version for this unit only
BindReadOnlyPaths=/usr/lib/jellyfin-ffmpeg/ffmpeg:/usr/bin/ffmpeg /usr/lib/jellyfin-ffmpeg/ffprobe:/usr/bin/ffprobe
[Install]
WantedBy=multi-user.target
|