Een site in Vimonto Deploy is één website of app op een van je servers: met een eigen domein, Nginx-configuratie, code, .env en deploys. Je maakt hem aan vanuit een framework-preset (Laravel, WordPress, Next.js en andere). Die kiest de runtime, de webmap, het buildcommando en een deployscript dat erbij past.
Als je een site aanmaakt, zet Vimonto Deploy hem op de server klaar, koppelt de repository en deployt hem meteen. Een paar minuten later staat de site live op een gegenereerd on-deploy.link-adres, nog voordat je iets aan DNS hebt gedaan.

Al je sites vinden
Het tabblad Sites in de bovenbalk toont alle sites van de organisatie, op al haar servers. Elke rij toont het domein met het icoon van het framework, en daaronder de server, het framework, de PHP-versie en de branch. Gedeployd zegt hoe lang geleden de site voor het laatst is gedeployd (of nog niet gedeployd), en Status laat zien of hij klaar is of nog bezig. Zoek op domein, sorteer op een kolom en klik op een rij om de site te openen.
Gebruikt je organisatie teams, dan zie je alleen de sites op de servers waar je toegang toe hebt. De eigen pagina Sites van een server toont alleen de sites op die server.

Een nieuwe site starten
- Open een server en ga naar de pagina Sites.
- Klik op Nieuwe site en kies waarmee de site gebouwd is, bijvoorbeeld Laravel of WordPress.
- Vul het formulier in (elk veld staat hieronder beschreven) en klik op Site aanmaken.
Nieuwe site in de lijst Sites van de organisatie heeft hetzelfde menu met frameworks. In het formulier kies je dan de server, en de link ← Sites leidt terug naar de lijst van de organisatie in plaats van die van de server.
Sites komen op servers die websites serveren: een app-server of een webserver. Een load balancer bevat alleen load-balanced sites (zie load balancing). Is er nog geen geschikte server, dan meldt het formulier Nog geen server voor sites en biedt het Nieuwe server aan. Zie servertypes voor wat elk type installeert.
Je hebt in de organisatie het recht nodig om sites te beheren; zie leden en rollen. Het gratis abonnement bevat 3 sites over alle servers van de organisatie samen; zijn die gebruikt, dan toont het formulier Je abonnement zit vol met Bekijk abonnementen. Zie facturering.
Welke frameworks kun je kiezen?
Het menu Nieuwe site groepeert de presets per taal. Elke preset stelt de runtime in (hoe Nginx de site serveert) en verstandige standaardwaarden, die je onder Geavanceerde instellingen kunt aanpassen.
| Preset | Runtime | Webmap | Composer | Standaard buildcommando | Repository |
|---|---|---|---|---|---|
| Laravel | Laravel (PHP) | /public |
Ja | npm run build |
Ja |
| Symfony | PHP | /public |
Ja | geen | Ja |
| Statamic | Laravel (PHP) | /public |
Ja | npm run build |
Ja |
| WordPress | PHP | / |
Nee | geen | Nee, wordt voor je geïnstalleerd |
| phpMyAdmin | PHP | / |
Nee | geen | Nee, wordt voor je geïnstalleerd |
| PHP | PHP | /public |
Ja | geen | Ja |
| Next.js | Node.js | niet gebruikt | Nee | npm run build |
Ja |
| Nuxt | Node.js | niet gebruikt | Nee | npm run build |
Ja |
| HTML | Statisch | / |
Nee | geen | Ja |
| Anders | PHP | / |
Nee | geen | Ja |
| Load balancer | Proxy naar je app-servers | niet gebruikt | Nee | geen | Nee |
Wat de runtimes betekenen:
- Laravel: PHP-FPM achter Nginx, met Laravels
storage/gedeeld tussen releases, queue workers en de scheduler. - PHP: elke PHP-app met een
index.php, zoals Symfony of WordPress. - Statisch: HTML, of een frontend die tot bestanden wordt gebouwd (Vite, Astro, een statische Next.js-export).
- Node.js: een app die op een poort luistert; Nginx stuurt verzoeken door.
De preset Load balancer, onder Load balancing in het menu, is alleen voor load balancer-servers en is de enige soort site die ze bevatten. Hij heeft geen code en geen deploys: hij stuurt verzoeken door naar je app-servers. Het formulier heeft geen repository, database of Geavanceerde instellingen, omdat er niets te bouwen of te isoleren is. Zie load balancing.
WordPress en phpMyAdmin
WordPress en phpMyAdmin hebben geen repository nodig. Vimonto Deploy downloadt de nieuwste versie op de server en schrijft de configuratie:
- WordPress krijgt een
wp-config.phpmet de databasenaam, gebruiker en wachtwoord, en nieuwe security keys en salts. WordPress heeft altijd een database nodig, dus Database koppelen kan niet uit. - phpMyAdmin krijgt een
config.inc.phpdie met cookie-authenticatie inlogt op de databaseserver op dezelfde machine.
Open de site daarna om de installatie van WordPress in de browser af te ronden.
Het formulier invullen
Server
Kies de server waar de site op komt. Alleen actieve servers die dit soort site kunnen hosten staan in de lijst, met hun IP-adres: app- en webservers voor elke preset, load balancers alleen voor de preset Load balancer.
Broncode, repository en branch
Kies onder Broncode een van je Git-koppelingen (GitHub, GitLab of Bitbucket), of Eigen Git-URL.
- Met een koppeling kies je de Repository (eventueel gefilterd op Organisatie) en de Branch.
- Met Eigen Git-URL typ je de Git-URL, zoals
git@github.com:you/project.gitofhttps://github.com/you/project.git, en de Branch.
De repository is optioneel. Zonder repository krijgt de site een tijdelijke pagina en koppel je later een repository op de pagina Deployments.
Database koppelen
Op een server met een database staat Database koppelen standaard aan, met een nieuwe database die naar de site is genoemd (bijvoorbeeld shop_example_com). Je kunt:
- Op Wijzigen of Database aanmaken klikken om de naam, een eigen Gebruiker en een Wachtwoord te kiezen. Laat de gebruiker leeg om de eigen databasegebruiker van de server te gebruiken. Laat het wachtwoord leeg, dan wordt er een gegenereerd.
- Een bestaande database uit de lijst kiezen. De site krijgt daar dan een eigen databasegebruiker voor, zodat hij nooit een wachtwoord deelt met een andere site.
Bij Laravel- en Statamic-sites worden de databasenaam, gebruiker en wachtwoord in de .env van de site gezet. Zie databases om ze later te beheren.
Domein of gegenereerd adres
Elke site kan een gratis adres op on-deploy.link krijgen, zoals kalme-rivier-4821.on-deploy.link. Het eerste deel van de naam kun je aanpassen in het veld on-deploy.link-adres. Het werkt meteen, zonder eigen DNS, en is daardoor handig om te testen en te delen. Een site die op dit adres draait, krijgt ook vanzelf HTTPS (zie hieronder).
Wil je een eigen domein gebruiken, klik dan op Eigen domein gebruiken en typ het, bijvoorbeeld shop.example.com. Laat Ook …on-deploy.link aangevinkt als de site ook op het gegenereerde adres moet reageren.
Daarna heeft het domein DNS-records nodig die naar de server wijzen. Met DNS-integraties staat onder het domein de hint "We zoeken het domein op bij je DNS-providers en zetten de records automatisch goed." Terwijl je typt, toont een vak DNS of een van je integraties (Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS, Google Cloud of Cloudflare) het beheert; hun domeinlijsten worden live opgehaald:
- Is dat zo, dan staat Automatisch laten wijzen met … gekozen. Het vak toont de records (een A-record voor het domein en een CNAME voor
www.) als Nieuw, Klopt al of Wijzigingen, met een waarschuwing voor alles wat verandert of wordt verwijderd. Veranderen er bestaande records, vink dan Deze records wijzigen aan. Na de inrichting werkt Vimonto Deploy de records bij, wacht tot het domein resolvet en vraagt zelf HTTPS aan. Kies Ik beheer de DNS zelf om de DNS met rust te laten. - Is dat niet zo, maar heb je wel DNS-integraties, zet dan Domein toevoegen aan een DNS-provider aan en kies de Provider en de Zone (standaard het domein zonder subdomein, zoals
example.com). Vimonto Deploy maakt de zone daar aan, zet de records en noemt in de uitvoer van de taak de nameservers die je bij je registrar instelt; HTTPS volgt zodra de DNS resolvet. - Anders laat je het domein zelf bij je DNS-provider met een A-record naar het IP-adres van de server wijzen.
Zie domeinen en SSL voor wat elke waarschuwing betekent.
Later kun je meer domeinen toevoegen, het gegenereerde adres uitzetten en HTTPS aanzetten; zie domeinen en SSL.
Composer-pakketten installeren
Bij Laravel-, Symfony-, Statamic- en PHP-sites met een repository voegt Composer-pakketten installeren composer install aan het deployscript toe. Zet het uit als je project geen composer.json heeft of de pakketten op een andere manier installeert.
Eigen deploy-sleutel
Met Eigen deploy-sleutel voor GitHub (of GitLab, Bitbucket; Eigen deploy-sleutel voor je Git-host bij een eigen Git-URL) aan, de standaard, krijgt de site een eigen SSH-sleutel voor zijn repository. Bij een gekoppelde Git-host registreert Vimonto Deploy die als alleen-lezen deploy-sleutel op de repository. Bij een eigen Git-URL kopieer je de sleutel van de pagina Deployments en voeg je hem zelf toe bij je Git-host.
Een repository van een gekoppelde Git-host krijgt ook Deployen bij elke push aangezet: Vimonto Deploy voegt een webhook toe, en elke push naar de branch deployt. Je kunt het uitzetten op de pagina Deployments.
Geavanceerde instellingen
Klik op Geavanceerde instellingen om de standaardwaarden van de preset te wijzigen. Klik op Instellingen bewaren om ze te bewaren.
| Instelling | Wat het doet |
|---|---|
| Hoofdmap | Waar de app in de repository staat. / is de hele repository; gebruik /backend of iets vergelijkbaars voor een monorepo. |
| Webmap | Wat Nginx serveert, binnen de hoofdmap, zoals /public of /dist. Niet zichtbaar bij Node.js-sites. |
| PHP-versie | Een van de PHP-versies die op de server geïnstalleerd zijn. Zie PHP. |
| Pakketbeheerder frontend | npm (standaard), yarn, pnpm of bun. Yarn en pnpm draaien via Corepack. |
| Buildcommando | Draait nadat de pakketten geïnstalleerd zijn, zoals npm run build. Leeg: niets bouwen. |
| Website-isolatie | Geeft de site een eigen Linux-gebruiker, met een Gebruikersnaam die je zelf kiest. |
| Zero-downtime deploys | Bouwt elke deploy in een nieuwe release en schakelt pas over als die gelukt is. Standaard aan. |
| Composer-authenticatie | Host, gebruikersnaam en wachtwoord of token voor privé Composer-pakketten, zoals repo.packagist.com. |
| npm-authenticatie | Registry en token voor een privé npm-registry, zoals https://npm.pkg.github.com. |
Een monorepo deployen
Zet de Hoofdmap op de map van de app, bijvoorbeeld /backend. De hele repository wordt gekloond, maar het deployscript draait in die map, de .env wordt daar gekoppeld en de webmap wordt daarbinnen gezocht. Staat de map niet in de repository, dan mislukt de deploy met een duidelijke melding.
Website-isolatie
Een geïsoleerde site draait als een eigen Linux-gebruiker, met een thuismap die andere sites niet kunnen lezen. Een PHP-site krijgt ook een eigen PHP-FPM-pool die als die gebruiker draait. Nginx kan de bestanden nog steeds serveren, omdat de systeemgebruiker van de server lid wordt van de groep van de site. Gebruik dit als meerdere klanten of projecten één server delen.
De gebruiker kies je bij het aanmaken van de site. De naam bestaat uit kleine letters, cijfers, _ en -, begint met een letter en mag geen systeemnaam zijn, zoals root of www-data.
Zero-downtime deploys
Met zero-downtime deploys wordt elke deploy gebouwd in een nieuwe releasemap en gaat hij in één atomische stap live. Bezoekers zien zo nooit een half gebouwde site en je kunt terugzetten. Staat het uit, dan wordt één release ter plekke bijgewerkt: sneller, maar bezoekers kunnen de build zien gebeuren en terugzetten kan niet. Je kunt dit later wijzigen onder site-instellingen. Zie deployments voor de details.
Privé Composer- en npm-pakketten
De gegevens onder Composer-authenticatie en npm-authenticatie worden versleuteld opgeslagen en alleen tijdens de build gebruikt: Composer leest ze uit COMPOSER_AUTH, en npm uit een tijdelijk configuratiebestand dat daarna wordt verwijderd. Je kunt ze later toevoegen, wijzigen of verwijderen in de Instellingen van de site, op de tabbladen Composer en npm: zie gegevens voor Composer en npm.
Wat gebeurt er nadat je op Site aanmaken klikt?
Je komt op de pagina van de site, die alleen de inrichting toont tot de site live is: de fasen, de stap die bezig is en het logboek van elke taak. Je kunt de pagina op elk moment verlaten; het werk gaat op de achtergrond door.
- Instellen: Vimonto Deploy maakt het DNS-record voor het gegenereerde adres, maakt de database en de gebruiker ervan aan, maakt de mappen van de site en schrijft de
.env, de PHP-FPM-pool (bij isolatie) en de Nginx-configuratie. Tot de eerste deploy toont de site een pagina die zegt dat hij klaarstaat. WordPress en phpMyAdmin worden in deze fase geïnstalleerd. - Koppelen: bij een repository wordt de deploy-sleutel op de server gezet en, bij een gekoppelde Git-host, samen met de push-webhook op de repository geregistreerd.
- Ophalen, Bouwen, Live: de eerste deploy kloont de branch, voert het deployscript uit en zet de release live.
- HTTPS: voor een site waarvan het adres het gegenereerde
on-deploy.link-adres is, en voor een site op een eigen domein dat een DNS-integratie laat wijzen. Bij een eigen domein werkt Vimonto Deploy eerst de DNS-records bij zoals het plan liet zien. Daarna wacht het tot de naam naar de server wijst (hooguit 10 minuten), vraagt dan een gratis Let's Encrypt-certificaat aan en zet de site over op HTTPS. Dit loopt naast de eerste deploy en is de laatste fase die je ziet. Mislukt het, dan blijft de site gewoon werken over HTTP; vraag later een certificaat aan onder domeinen en SSL.
Een site die met een eigen domein is aangemaakt waarvan je de DNS zelf beheert, slaat de fase HTTPS over, omdat de DNS misschien nog niet naar de server wijst. Vraag het certificaat aan zodra dat wel zo is.
Zolang het opzetten loopt (inrichten, de repository koppelen, de eerste deploy en het eerste HTTPS-certificaat), is dit overzicht met de stappen de enige pagina van de site, samen met het logboek van de eerste deploy: er is geen zijbalk, en de andere pagina's van de site leiden ernaar terug.
Als alles klaar is, wordt de pagina het gewone overzicht van de site, met de zijbalk. De eerste keer dat jij (of iemand anders in de organisatie) hem daarna opent, begint hij met Je site staat live, hoe lang het opzetten duurde en een knop Openen; Sluiten verbergt dit, en bij latere bezoeken zie je alleen het overzicht.
Op schijf staat elke site in /home/{user}/{domain}, met releases/, shared/ en een symlink current. De map houdt zijn naam als je later het domein van de site wijzigt.
Mislukt een fase, dan meldt de pagina Inrichten mislukt, Koppelen van de repository mislukt of Eerste deploy mislukt, met de fout en het logboek van de stap die misging (onder Details en logboek). Los de oorzaak op (een branchnaam, een ontbrekende deploy-sleutel) en gebruik de knop op de pagina: Opnieuw proberen, Opnieuw koppelen of Opnieuw deployen. Is een fase mislukt, dan zijn de zijbalk en alle pagina's van de site terug, zodat je de oorzaak kunt oplossen op de pagina's Deployments en Omgeving.
Wat doe je daarna?
- Zet voor een site op een eigen domein waarvan je de DNS zelf beheert HTTPS aan met een gratis Let's Encrypt-certificaat onder domeinen en SSL.
- Controleer de
.envonder omgeving. - Voeg voor Laravel queue workers en de scheduler toe onder queues en scheduler, of zet Horizon aan in het menu sitefuncties.
- Roep bij een eigen Git-URL de deploy-URL aan vanuit je Git-host of CI om bij een push te deployen.

Veelgestelde vragen
Heb ik een domein nodig om een site te maken?
Nee. Elke site kan een gegenereerd on-deploy.link-adres krijgen dat meteen werkt. Voeg je eigen domein toe wanneer je er klaar voor bent.
Kan ik meerdere sites op één server hosten?
Ja. Een server kan zoveel sites bevatten als er ruimte voor is. Elke site heeft een eigen Nginx-configuratie en map; zet website-isolatie aan om elke site ook een eigen Linux-gebruiker te geven.
Welke repository gebruikt WordPress?
Geen. WordPress en phpMyAdmin worden bij het aanmaken van de site gedownload en op de server geïnstalleerd. Houd je een WordPress-project bij in Git, kies dan de preset PHP en koppel je repository.
Hoe deploy ik een Next.js- of Nuxt-app?
Kies Next.js of Nuxt. De site krijgt een vrije lokale poort (vanaf 3000) waar Nginx naar doorstuurt, en het deployscript installeert de pakketten en voert npm run build uit. Vimonto Deploy voegt ook het proces toe dat je app op die poort draait, en de eerste deploy start het. Je vindt het onder Processen.
Kan ik een site over meerdere servers verdelen?
Ja, met een load balancer-server vóór twee of meer app-servers die elk dezelfde site draaien. Zie load balancing.
Kan ik het framework later wijzigen?
Nee, de preset kies je bij het aanmaken van de site. De PHP-versie, de webmap, de Node.js-poort en zero-downtime deploys kun je wijzigen onder site-instellingen, en het deployscript op de pagina Deployments.
Kan ik een bestaande site kopiëren?
Ja. Klik in de Instellingen van de site op Site klonen om een nieuwe site te maken met dezelfde repository, buildinstellingen, deployscript en regels, op dezelfde of een andere server. Zie een site klonen.