Esta página ainda não foi traduzida para o português, por isso aparece em 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.

Atualizado em
Unit file
Install commands

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como 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.

Também pesquisado como: systemd unit file generator, create systemd service, systemd service file, node js systemd service, python systemd service, systemd timer generator, linux service file.

Ferramentas que combinam com: systemd Service Generator

  • Gerador de configuração do Nginx — Escolha o que o Nginx deve fazer — servir um site estático ou um SPA, atuar como proxy para um aplicativo Node/Python ou executar PHP — e marque os recursos extras.
  • 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.

Perguntas frequentes

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.
Posso instalar o systemd Service Generator como um aplicativo da web e usá-lo offline?
Sim. O systemd Service Generator é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas