Cette page n’est pas encore traduite en français : elle s’affiche en anglais.

systemd Service Generator — Create a .service Unit File

Run your app as a proper Linux service that starts on boot and restarts when it crashes. Pick a preset (Node.js, Python, Go, a script), adjust the command, user and environment, and get a commented .service unit file with optional sandboxing — or a .timer to run a job on a schedule, like cron.

Mis à jour le
Unit file
Install commands

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : systemd Service Generator

  1. Pick a preset — Node.js, Python with Gunicorn, a Go binary or a scheduled script — to fill sensible defaults.
  2. Set the command, working directory and the user it runs as (create it with useradd --system; never run apps as root).
  3. Add environment variables or an EnvironmentFile, choose the restart policy and keep sandboxing on.
  4. Copy the unit file to /etc/systemd/system/ and run the install commands shown.

The three sections of a unit file

SectionKey settings
[Unit]Description, and After=/Wants=network-online.target so the app starts once networking is up
[Service]ExecStart (absolute path), User, WorkingDirectory, Environment, Restart and RestartSec
[Install]WantedBy=multi-user.target — what systemctl enable hooks the service into so it starts at boot

Sandboxing

The hardening options make the service much safer with no code changes: NoNewPrivileges, ProtectSystem=strict (the filesystem is read-only except ReadWritePaths), ProtectHome, PrivateTmp, PrivateDevices and kernel protections. Check the result with systemd-analyze security my-app. If the app needs to write somewhere else, add that path to ReadWritePaths.

Timers instead of cron

A .timer unit starts a oneshot service on a calendar schedule. Unlike cron, its runs are logged in the journal, it can catch up on missed runs (Persistent=true) and you can see the next run with systemctl list-timers. To turn a cron line into an OnCalendar value, see the Cron Expression Generator.

Aussi recherché comme : systemd unit file generator, create systemd service, systemd service file, node js systemd service, python systemd service, systemd timer generator, linux service file.

Outils complémentaires : systemd Service Generator

  • Générateur de configuration Nginx — Choisissez ce que Nginx doit faire — servir un site statique ou une application SPA, agir en tant que proxy vers une application Node/Python, ou exécuter du code PHP — et cochez les options supplémentaires.
  • Dockerfile Generator — Choose your stack and get a production-ready Dockerfile: multi-stage build, cached dependency layer, non-root user, health check and a matching .dockerignore — explained line by line.
  • Apache VirtualHost Generator — Get a complete Apache virtual host config for your domain: a static site, WordPress, PHP-FPM or a reverse proxy to a Node or Python app.
  • Caddyfile Generator — Caddy gets HTTPS certificates automatically — you only describe your site.

Questions fréquentes

Where do I put a systemd service file?
Save it as /etc/systemd/system/NAME.service, run sudo systemctl daemon-reload, then sudo systemctl enable --now NAME to start it now and at every boot.
How do I see the logs of my service?
Run journalctl -u NAME -f to follow the log live, or journalctl -u NAME --since today. Anything the app prints to stdout or stderr ends up there.
What is the difference between Restart=always and on-failure?
on-failure restarts only after a crash or non-zero exit; always also restarts after a clean exit. Use on-failure for most apps and always for workers that should never stop.
Can systemd replace cron?
Yes — tick “Run on a schedule” to get a .timer unit. Timers log every run, can catch up after downtime and are easier to inspect than crontab entries.
Puis-je installer systemd Service Generator en tant qu’application web et l’utiliser hors ligne ?
Oui. systemd Service Generator est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires