mkunit is a CLI tool that takes the pain out of writing systemd unit files. Interactive or scriptable. One command, done.
Can't remember the INI syntax? Neither can we.
Was it /etc/systemd/system or /usr/lib/systemd/system?
daemon-reload, enable, start... in what order?
User service or system service? What's the path again?
Focus on what your service does, not how systemd wants it configured.
Services, timers, paths, sockets, mounts, and targets. Everything you need.
Missing a flag? We'll ask. Have all flags? We won't bother you.
Sensible restart policies, paths, and dependencies out of the box.
Warns about relative paths, missing executables, and common mistakes.
No runtime dependencies. Works on any Linux distro.
Built-in security options to sandbox your services properly.
Three steps. That's it.
Create any type of systemd unit with a single command.
mkunit prompts for missing options interactively.
See the difference mkunit makes.
[Unit]
Description=myapp service
After=network.target
[Service]
Type=simple
ExecStart=/home/alan/myapp/server
WorkingDirectory=/home/alan/myapp
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
mkunit service myapp \
--exec "./server" \
--install \
--start
Get started in seconds.