Generador de servicios systemd — Crea un archivo .service

Ejecuta tu app como un servicio de Linux que arranca con el sistema y se reinicia si falla. Elige un preajuste (Node.js, Python, Go, un script), ajusta el comando, el usuario y el entorno, y obtén un archivo de unidad .service comentado, con sandboxing opcional, o un .timer para ejecutar una tarea programada, como con cron.

Actualizado el
Archivo de unidad
Comandos de instalación

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

Cómo usar: Generador de servicios systemd

  1. Elige un preajuste (Node.js, Python con Gunicorn, un binario de Go o un script programado) para cargar valores por defecto razonables.
  2. Define el comando, el directorio de trabajo y el usuario con el que se ejecutará (créalo con useradd --system; nunca ejecutes apps como root).
  3. Añade variables de entorno o un EnvironmentFile, elige la política de reinicio y mantén activado el sandboxing.
  4. Copia el archivo de unidad en /etc/systemd/system/ y ejecuta los comandos de instalación que se muestran.

Las tres secciones de un archivo de unidad

SecciónAjustes clave
[Unit]Description y After=/Wants=network-online.target para que la app arranque cuando la red esté disponible
[Service]ExecStart (ruta absoluta), User, WorkingDirectory, Environment, Restart y RestartSec
[Install]WantedBy=multi-user.target: a qué engancha systemctl enable el servicio para que arranque con el sistema

Sandboxing

Las opciones de endurecimiento hacen el servicio mucho más seguro sin cambiar el código: NoNewPrivileges, ProtectSystem=strict (el sistema de archivos es de solo lectura salvo ReadWritePaths), ProtectHome, PrivateTmp, PrivateDevices y protecciones del kernel. Comprueba el resultado con systemd-analyze security my-app. Si la app necesita escribir en otra ruta, añádela a ReadWritePaths.

Timers en lugar de cron

Una unidad .timer inicia un servicio oneshot según un calendario. A diferencia de cron, sus ejecuciones quedan registradas en el journal, puede recuperar ejecuciones perdidas (Persistent=true) y puedes ver la próxima ejecución con systemctl list-timers. Para convertir una línea de cron en un valor de OnCalendar, consulta el Generador de expresiones cron.

También se busca como: generador de archivos unit systemd, crear servicio systemd, archivo de servicio systemd, servicio systemd para node js, servicio systemd para python, generador de timer systemd, archivo de servicio linux.

Herramientas que combinan con: Generador de servicios systemd

  • 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.
  • Generador de Dockerfile — Elige tu stack y obtén un Dockerfile listo para producción: build multi-etapa, capa de dependencias en caché, usuario no root, health check y un .dockerignore a juego, explicado línea por línea.
  • Generador VirtualHost Apache — Obtén una configuración completa de host virtual de Apache para tu dominio: un sitio estático, WordPress, PHP-FPM o un proxy inverso hacia una app en Node o Python.
  • Generador de Caddyfile — Caddy obtiene los certificados HTTPS automáticamente; tú solo describes tu sitio.

Preguntas frecuentes

¿Dónde guardo un archivo de servicio de systemd?
Guárdalo como /etc/systemd/system/NOMBRE.service, ejecuta sudo systemctl daemon-reload y luego sudo systemctl enable --now NOMBRE para iniciarlo ahora y en cada arranque.
¿Cómo veo los logs de mi servicio?
Ejecuta journalctl -u NOMBRE -f para seguir el log en directo, o journalctl -u NOMBRE --since today. Todo lo que la app escriba en stdout o stderr acaba ahí.
¿Cuál es la diferencia entre Restart=always y on-failure?
on-failure reinicia solo tras un fallo o una salida con código distinto de cero; always también reinicia tras una salida limpia. Usa on-failure para la mayoría de apps y always para workers que nunca deberían detenerse.
¿Puede systemd reemplazar a cron?
Sí: marca «Ejecutar con programación» para obtener una unidad .timer. Los timers registran cada ejecución, pueden recuperarse tras una caída y son más fáciles de revisar que las entradas de crontab.
¿Puedo instalar Generador de servicios systemd como aplicación web y utilizarla sin conexión?
Sí. Generador de servicios systemd 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