[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