Systemd Service-bestandgenerator
Vul je executable, werkmap, herstartbeleid en gebruiker in — krijg een kant-en-klaar te installeren .service-unit (en een optionele bijbehorende .timer), met elke gegenereerde regel uitgelegd.
Presets
Begin met een veelgebruikte workload
Laadt verstandige standaardwaarden voor de velden hieronder. Alles blijft daarna bewerkbaar.
[Unit]
Beschrijving & volgorde
De sectie [Unit] bevat metadata en volgorde — het vertelt systemd wat deze service is en waarna hij moet komen, maar start zelf niets.
Units waarna dit moet starten, gescheiden door spaties.
[Service] — proces
Wat uit te voeren
Absoluut pad vereist.
Standaard gelijk aan User indien leeg gelaten.
[Service] — omgeving
Omgevingsvariabelen
Elke rij wordt zijn eigen Environment=-regel. Gebruik EnvironmentFile voor geheimen die je niet in het unitbestand zelf wilt hebben staan.
Optioneel, absoluut pad.
[Install]
Wanneer het automatisch start
De sectie [Install] is alleen relevant voor systemctl enable — hij bepaalt welke boot-sequence van een target deze service moet meenemen.
[Service] — betrouwbaarheid
Herstartbeleid
Geen aan/uit-schakelaar — kies de variant die past bij hoe dit proces hoort te falen.
Herstart bij een crash, niet-nul exit of timeout — maar een bewuste "systemctl stop" of een nette exit(0) wordt met rust gelaten. De gebruikelijke keuze voor een langlopende app of gameserver: hij herstelt van crashes zonder tegen een beheerder te vechten die hem bewust heeft gestopt.
Aantal seconden wachten voor herstart.
Optioneel
Begrenst hoeveel RAM en CPU deze ene service mag gebruiken. Laat dit uit tenzij je echt een harde limiet nodig hebt.
Validatie
Veelgemaakte fouten
Ziet er schoon uit — geen problemen gevonden.
Optionele bijbehorende unit
Draait deze service op een schema in plaats van (of naast) bij het opstarten — het systemd-equivalent van een cronjob, gekoppeld aan Type=oneshot-workloads. Liever gewone cron voor iets eenvoudigs? Een aparte Cronjob-generator-tool dekt dat — OnCalendar= is een andere syntax dan cron en is geen kant-en-klare vervanging.
Output
Gegenereerde unit-bestand(en)
my-application.service
[Unit] Description=My application After=network.target Wants=network.target [Service] Type=simple ExecStart=/usr/bin/node /opt/wespner-app/server.js WorkingDirectory=/opt/wespner-app User=wespner-app Environment="NODE_ENV=production" Environment="PORT=3000" Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Installatiecommando's
sudo cp my-application.service /etc/systemd/system/my-application.service sudo systemctl daemon-reload sudo systemctl enable --now my-application.service journalctl -u my-application.service -f # follow logs
Beheer je een eigen gameserver?
Wespner-gameservers met DDoS-bescherming, NVMe-schijven en activering binnen enkele minuten.