Systemd Service File Generator

Build a production-ready systemd .service unit file.

Support
Works Offline
Privacy First
No Login
No API

Service settings

Fill in the details for your systemd unit

Adds ProtectSystem, PrivateTmp and friends

my-app.service

Install & enable

sudo tee /etc/systemd/system/my-app.service > /dev/null <<'EOF'
[Unit]
Description=My application service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/srv/my-app
ExecStart=/usr/bin/node /srv/my-app/server.js
Environment=NODE_ENV=production
Environment=PORT=3000
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=my-app
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=true
ProtectKernelTunables=true
ProtectControlGroups=true
RestrictSUIDSGID=true

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now my-app.service
sudo systemctl status my-app.service
journalctl -u my-app -f

About the Systemd Service File Generator

Generate a systemd unit for any long-running process: service type, user and group, working directory, ExecStart, environment variables, restart policy, journald logging and a set of sensible security hardening directives. Copy the unit plus the exact commands to install, enable and tail it.

Examples

Node app

/usr/bin/node /srv/app/server.js

Output

[Service] ExecStart=/usr/bin/node /srv/app/server.js

Keyboard shortcuts

  • Copy the main outputCtrl / ⌘ + Shift + C
  • Download the resultCtrl / ⌘ + S
  • Share this toolCtrl / ⌘ + Shift + S
  • Reset the inputsAlt + R
  • Open the tool search paletteCtrl / ⌘ + K

Related tools

Frequently asked questions

Version 1.0.0 · Updated 2026-08-24 · Runs entirely in your browser