Een recept is een opgeslagen bash-script dat je op een of meer van je servers uitvoert. Gebruik recepten voor werk dat je vaker doet, zoals een tool installeren, schijfruimte opruimen, logs roteren of een instelling op elke server controleren. Je schrijft het script één keer, en de organisatie kan het op elke actieve server uitvoeren wanneer dat nodig is.
Elke uitvoering start één achtergrondtaak per server, zodat je de output van elke server apart kunt volgen. Recepten horen bij de organisatie: elk lid ziet ze, en leden met de rol developer of hoger kunnen ze aanmaken, wijzigen en uitvoeren.

Een recept aanmaken
- Open Recepten in de navigatie bovenaan de organisatie.
- Klik op Nieuw recept.
- Vul een Naam in, bijvoorbeeld "htop installeren".
- Kies onder Uitvoeren als voor root of Servergebruiker (de gebruiker die eigenaar is van de sites op de server).
- Schrijf het Script in de editor. Het draait met bash, dus je schrijft het precies zoals je in een terminal zou doen.
- Klik op Recept opslaan.
Het recept staat nu in de lijst, met de eerste regel van het script, de gebruiker waarmee het draait en wanneer het voor het laatst is uitgevoerd.
Voorbeeld: een tool op elke server installeren
apt-get update
apt-get install -y htop ncdu
Voer dit uit als root. Commando's die root nodig hebben, zoals apt-get, mislukken als het recept als servergebruiker draait.
Variabelen gebruiken in een recept
Een recept kan variabelen tussen dubbele accolades bevatten. Vlak voordat het script draait, vervangt Vimonto Deploy ze door de waarden van de server waarop het draait. De editor toont ze onder Variabelen, per server ingevuld.
| Variabele | Waarde |
|---|---|
{{server_id}} |
Het ID van de server in Vimonto Deploy. |
{{server_name}} |
De naam van de server. |
{{server_type}} |
Het servertype, zoals app of database. |
{{ip_address}} |
Het publieke IP-adres. |
{{private_ip_address}} |
Het privé-IP-adres, als dat er is; anders leeg. |
{{user}} |
De eigen gebruiker van de server. |
{{db_password}} |
Het databasewachtwoord, zolang Vimonto Deploy het nog voor de server bewaart. |
Variabelen met namen die niet in deze lijst staan, blijven staan zoals je ze schreef.
Voorbeeld:
echo "Cleaning up on {{server_name}} ({{ip_address}})"
du -sh /home/{{user}}/*
Een recept uitvoeren
- Klik op Uitvoeren naast het recept.
- Vink onder Servers elke server aan waarop het moet draaien. De lijst toont de servers waar je toegang toe hebt; alleen actieve servers kun je kiezen.
- Laat Mail me een verslag aan als je één e-mail wilt zodra elke server klaar is, met de laatste regels output van elke server. Zet het uit als je dat niet nodig hebt.
- Klik op Recept uitvoeren.
Het recept start tegelijk op elke gekozen server, elk als eigen taak. Je kunt de pagina verlaten; de output staat onder Activiteit.
Als elke server klaar is, krijg je de melding Recept klaar in de bel (en per e-mail, als je dat hebt aangezet). Alleen degene die de uitvoering startte krijgt die. Zie meldingen.
Een uitvoering volgen en de output lezen
De lijst Recente uitvoeringen onderaan de pagina Recepten toont de laatste tien uitvoeringen, met wie ze startte en wanneer. Elke server in een uitvoering heeft een eigen chip met zijn status. Klik op een server om zijn taak te openen en de volledige output te lezen. Een lid dat beperkt is tot de servers van zijn teams ziet alleen uitvoeringen op die servers, en in elke uitvoering alleen zijn eigen servers.
Een uitvoering op een server mislukt als het script eindigt met een andere exitcode dan 0. De taak vertelt dan met welke exitcode het recept stopte. Begin je script met set -e als je wilt dat het stopt bij het eerste commando dat mislukt.
Een recept kan per server tot ongeveer een uur draaien. Langere scripts worden gestopt.
Een recept uitvoeren vanuit een script of CI
De API toont de recepten van de organisatie (GET /api/v1/orgs/{organization}/recipes) en voert er een uit op een lijst servers (POST /api/v1/orgs/{organization}/recipes/{recipe}/run), met een token dat de scope Schrijven heeft. Elke server krijgt een eigen taak, die je ook via de API kunt volgen.
Een recept bewerken of verwijderen
Open het menu naast het recept en kies:
- Bewerken om de naam, de gebruiker of het script te wijzigen. Eerdere uitvoeringen houden het script waarmee ze draaiden.
- Verwijderen om het recept voor iedereen in de organisatie te verwijderen. Eerdere uitvoeringen blijven in de activiteit staan.
Wie kan recepten gebruiken?
Elk lid ziet de recepten en hun uitvoeringen. Voor aanmaken, bewerken, uitvoeren en verwijderen van recepten heb je de rol eigenaar, beheerder, manager of developer nodig. Zie leden en rollen. Als je organisatie teams gebruikt, kun je een recept alleen uitvoeren op de servers waar je teams je toegang toe geven.
Veelgestelde vragen
Kan ik een recept in één keer op al mijn servers uitvoeren?
Ja. Vink elke server aan in de lijst Servers als je de uitvoering start. Elke server krijgt een eigen taak, en ze draaien tegelijk.
Wat is het verschil tussen root en de servergebruiker?
root kan alles op de server, zoals pakketten installeren en systeeminstellingen wijzigen. De Servergebruiker is de gebruiker die eigenaar is van je sites en je deploys uitvoert; gebruik die voor werk in de mappen van je sites, zodat bestanden de juiste eigenaar houden.
Kan ik hetzelfde recept twee keer tegelijk op één server uitvoeren?
Ja. Vimonto Deploy houdt je niet tegen als je een recept uitvoert op een server waar nog een ander recept draait. Wees dus voorzichtig met scripts die niet mogen overlappen.
Hoe lang worden uitvoeringen van recepten bewaard?
Uitvoeringen en hun output worden 90 dagen bewaard, net als andere activiteit.
Kan ik losse commando's uitvoeren zonder een recept op te slaan?
Gebruik de terminal in de browser voor losse commando's op één server.