Esta página aún no está traducida al español, así que la mostramos en inglés.

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.

Actualizado el
Unit file
Install commands

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: 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.

También se busca como: systemd unit file generator, create systemd service, systemd service file, node js systemd service, python systemd service, systemd timer generator, linux service file.

Herramientas que combinan con: systemd Service Generator

  • Generador de configuraciones de Nginx — Elige qué quieres que haga Nginx —servir una página web estática o una SPA, actuar como proxy para una aplicación de Node/Python o ejecutar PHP— y marca las opciones adicionales.
  • 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.

Preguntas frecuentes

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.
¿Puedo instalar systemd Service Generator como aplicación web y utilizarla sin conexión?
Sí. systemd Service Generator es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas