Herramienta gratis

Generador de servicios systemd

Unit files correctos para convertir cualquier ejecutable en un servicio de Linux con reinicio automático y arranque al boot.

Genera unidades systemd listas para /etc/systemd/system/.

[Unit]
Description=Mi aplicacion
After=network.target

[Service]
User=app
Group=app
WorkingDirectory=/opt/miapp
ExecStart=/usr/bin/node /opt/miapp/server.js
Restart=on-failure
RestartSec=5s
Environment="NODE_ENV=production"
Environment="PORT=3000"

[Install]
WantedBy=multi-user.target

sudo nano /etc/systemd/system/mi-servicio.service
sudo systemctl daemon-reload
sudo systemctl enable --now mi-servicio.service

Hecho por

Miguel Ángel Colorado Marin (MACM)

Full-Stack Developer · Guadalajara, España

Desarrollo aplicaciones web, herramientas digitales y proyectos completos — desde el diseño hasta el despliegue.

Contáctame

Convertir una aplicación en un servicio de Linux moderno significa escribir un unit file de systemd: el fichero .service que define cómo arrancar, bajo qué usuario, cuándo reiniciarse tras un fallo y en qué momento del boot levantarse. La documentación de systemd es enorme y la mayoría de tutoriales copian configuraciones incompletas que funcionan hasta que el servidor se reinicia. Este generador produce unidades con las directivas que importan en producción: After=network.target para no competir con la red, User/Group sin privilegios para no correr como root, Restart con su RestartSec para resucitar procesos caídos y WantedBy=multi-user.target para el autoarranque. Varios servicios en una sola sesión, cada uno con su bloque listo para pegar.

Características

  • Secciones [Unit], [Service] e [Install] completas
  • Usuario y grupo sin privilegios por defecto
  • Políticas de reinicio con retardo configurable
  • Variables de entorno línea a línea
  • Comandos de instalación recordados al final

¿Cómo crear un servicio systemd?

  1. 1

    Rellena los datos del proceso

    ExecStart absoluto, directorio de trabajo, usuario y grupo.

  2. 2

    Elige la política de reinicio

    on-failure para rescatar cuelgues; always para procesos críticos.

  3. 3

    Guarda el fichero

    En /etc/systemd/system/mi-servicio.service con permisos 644.

  4. 4

    Actívalo

    daemon-reload, luego systemctl enable --now para arrancar y autoarrancar.

Preguntas frecuentes

¿Por qué no debe correr como root?

Si el servicio es comprometido, el atacante obtiene root completo. Correr bajo un usuario dedicado limita el daño a sus permisos; añade también ProtectSystem=strict y NoNewPrivileges=true cuando lo tengas funcionando.

¿Diferencia entre Restart=on-failure y Restart=always?

on-failure reinicia solo si el proceso termina con error, señal anómala o timeout; always reinicia siempre, incluso tras una salida limpia. Para servicios que el propio admin para manualmente, usa on-failure o añade RemainAfterExit según el caso.

¿Cómo veo los logs del servicio?

journalctl -u mi-servicio.service muestra su historial completo; añade -f para seguirlo en vivo y --since today para filtrar por fecha. systemd captura stdout/stderr automáticamente sin configurar nada.

Herramientas relacionadas

Incrusta Generador de Servicios systemd en tu web

Integra Generador de Servicios systemd en cualquier página web con un simple iframe. Gratis, con atribución a miguelacm.es.

<iframe
  src="https://miguelacm.es/embed/systemd-service-generator"
  width="100%"
  height="700"
  frameborder="0"
  title="Generador de Servicios systemd — miguelacm.es"
></iframe>
Ver embed en nueva pestaña →