summaryrefslogtreecommitdiff
path: root/deploy/blind-uploader.service
blob: aa5bc5d6d43a4c86b02197e27404f2263836e55f (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
[Unit]
Description=Private Drop anonymous image uploader
Documentation=file:/opt/blind-uploader/README.md
After=network.target

[Service]
Type=simple
DynamicUser=yes
WorkingDirectory=/opt/blind-uploader
ExecStart=/usr/bin/python3 /opt/blind-uploader/server.py
Restart=on-failure
RestartSec=3s

# These defaults can be overridden using Debian's standard environment file.
Environment=HOST=127.0.0.1
Environment=PORT=8000
Environment=UPLOAD_DIR=/var/lib/blind-uploader/uploads
Environment=PYTHONDONTWRITEBYTECODE=1
EnvironmentFile=-/etc/default/blind-uploader

# systemd creates a persistent, service-owned /var/lib/blind-uploader directory.
StateDirectory=blind-uploader
StateDirectoryMode=0700
UMask=0077

# Service hardening. The application only needs its state directory and TCP/IP.
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=strict
ProtectHome=yes
ProtectClock=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectControlGroups=yes
RestrictSUIDSGID=yes
RestrictRealtime=yes
LockPersonality=yes
CapabilityBoundingSet=
AmbientCapabilities=
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6

[Install]
WantedBy=multi-user.target