superd(5)

πŸ“¦
version 0.7.1 Β· 3 versions
, in alpine 3.24

πŸ’– NAME πŸ’–

Welcome to the superd(5) page, aka the File Formats Manual entry for superd's service configuration file format. Bestie, this is the whole vibe of how a service config file looks. ✨

🧠 CONCEPTS 🧠

Okay so superd's service configuration file format borrows heavily from systemd's service file specification. Treat that spec as your reference, but keep in mind the differences outlined in the next section. πŸ’…

The format for this configuration aims to support systemd's .service file format as much as it makes sense to. Why? Because it makes "porting" existing service files easier, since many upstream projects provide them, and it reduces the amount of effort to configure new services and maintain existing configuration. Periodt. 🫢

πŸ¦‹ DIFFERENCES FROM SYSTEMD.SERVICE πŸ¦‹

The service configuration file format implementation differs from systemd.service's specification in these ways:

  • The only supported service types, specified with Type=, are oneshot, simple, and notify. If Type= is unset, it defaults to simple. Any other values are a runtime error. πŸ’€
  • Restart= supported values are: always, on-failure, on-success, and no. If Restart= is unset, it defaults to never. Any other values are a runtime error.
  • ExecOnFailure, ExecStartPre, and ExecStartPost can hold commands that you want to run on failure, before starting, and after starting.
  • ExecOnFailure is not present in systemd. But is planned: https://cgit.freedesktop.org/systemd/systemd/tree/TODO#n759
  • TimeoutStopSec is currently ignored/unsupported.
  • ExecCondition is currently ignored/unsupported.
  • Dependencies can be specified with only After= and Before=. Other systemd-supported options like Wants= are currently ignored/unsupported.
  • Environment variable expansion isn't the same as with systemd, and it only expands variables for arguments for the command set in Exec=.
  • EnvironmentFile= is currently ignored/unsupported, though Environment= is supported.
  • Template files are supported, kinda. The only supported specifier (the systemd specifier docs are at https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers) is %i, which it derives from the file name just as systemd does. For example, a file named foo@bar.service would substitute %i in the file with bar. It is not escaped.
  • There is no socket activation.
  • Only one of the prefixes, -, under "Table 1. Special executable prefixes" is supported (see systemd.service.5 for description).

🌈 ENVIRONMENT VARIABLES 🌈

Variables used when starting services are pulled from the following locations, in order of precedence:

  • superd's default environment
  • shell environment variables, from the shell which started superd
  • environment variables set in .service file via Environment=

πŸ‘€ SEE ALSO πŸ‘€

🫢 AUTHORS 🫢

  • Clayton Craft <clayton@craftyguy.net>

Okay bye bestie! This was the superd(5) manual from superd, dated 2026-10-14 β€” now go make those service files iconic. πŸ’…βœ¨

πŸ“¦ where this page comes from