[Unit]
Description = Pleroma social network
After = network.target postgresql.service
[Service]
ExecReload = /bin/kill $MAINPID
KillMode = process
Restart = on-failure
; Name of the user that runs the Pleroma service.
User = pleroma
; Declares that Pleroma runs in production mode.
Environment = "MIX_ENV=prod"
; Make sure that all paths fit your installation.
; Path to the home directory of the user running the Pleroma service.
Environment = "HOME=/home/pleroma"
; Path to the folder containing the Pleroma installation.
WorkingDirectory = /home/pleroma/pleroma
; Path to the Mix binary.
ExecStart = /usr/bin/mix phx.server
; Some security directives.
; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops.
PrivateTmp = true
; Mount /usr, /boot, and /etc as read-only for processes invoked by this service.
ProtectSystem = full
; Sets up a new /dev mount for the process and only adds API pseudo devices like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled by default because it may not work on devices like the Raspberry Pi.
PrivateDevices = false
; Ensures that the service process and all its children can never gain new privileges through execve().
NoNewPrivileges = true
; Drops the sysadmin capability from the daemon.
CapabilityBoundingSet = ~CAP_SYS_ADMIN
[Install]
WantedBy = multi-user.target