Een app publiceren vanuit Cursor, Claude Code of Windsurf
De kortste weg om een app te publiceren die je met Cursor, Claude Code of Windsurf hebt geschreven, is dezelfde tool het te laten doen. Bestel een Next.js-server bij Seturack, kopieer de rij Plak in je AI-tool van het tabblad Overzicht in je paneel en plak die in de tool waarin je project openstaat. De tool leest de instructies, koppelt de code via GitHub aan de server, draait de build en geeft je een werkend HTTPS-adres.
Dit werkt omdat deze tools opdrachten op je computer kunnen uitvoeren en webpagina's kunnen lezen, zoals de documentatie van de Cursor Agent en van Claude Code beschrijft. Windsurf heet nu Devin Desktop, wat de maker dezelfde editor onder een nieuwe naam noemt, dus de stappen veranderen niet.
Stap voor stap
- Kies een grootte op de pagina Next.js VPS en rond je betaling af. Het publicatiepaneel Coolify installeert zichzelf op de server.
- Open in je Seturack-paneel de server via Mijn servers. Controleer op het tabblad Overzicht of de rij App zegt dat hij klaar is.
- Kopieer de rij Plak in je AI-tool. Die heeft dit patroon, met een adres en sleutel die bij jouw server horen:
Deploy this project to my Seturack server. Read and follow the instructions first: https://www.seturack.com/deploy.txt Panel: PANEL-ADDRESS API key: API-KEY - Open de projectmap in je tool. Cursor en Devin Desktop hebben hiervoor een agentpaneel en in Claude Code voer je
claudeuit in de map. - Plak de tekst, verstuur hem en beantwoord wat de tool vraagt.
- Krijg je het adres, open het dan en probeer de pagina's die voor jou belangrijk zijn.
In onze tests duurde een publicatie 1 tot 6 minuten. De projecttypen die we via Coolify hebben laten draaien zijn Next.js, TanStack Start, Vite (statisch), gewone HTML, Astro en Flask.
Wat doet de tool onderweg?
De tekst wijst de tool naar een bestand met de naam deploy.txt, dat niet aan één bepaalde tool is gebonden. Het behandelt deze fasen:
| Fase | Wat de tool doet | Wat hij van jou nodig heeft |
|---|---|---|
| Projectcontrole | Zoekt het framework, het buildcommando en de poort, bevestigt dat .env-bestanden in .gitignore staan en zet een app die op localhost luistert om naar 0.0.0.0 | Variabelewaarden die hij niet kan vinden |
| Repository | Gebruikt een openbare repository zoals hij is. Zonder repository maakt hij er een privé-repository voor aan zodra jij goedkeuring geeft. Een privé-repository krijgt een deploy key die alleen die repository kan lezen | Goedkeuring en een GitHub-login |
| Applicatie | Maakt de app aan via de Coolify-API en stelt de variabelen in | Niets |
| Publicatie | Start de build en wacht. Mislukt hij, dan leest de tool het log, verhelpt de oorzaak en probeert het opnieuw | Niets |
| Resultaat | Opent het HTTPS-adres om te bevestigen dat het werkt en meldt het je | Een laatste blik |
Voor GitHub gebruikt de tool de opdrachtregeltool gh. Ben je niet ingelogd, dan kan hij je vragen gh auth login uit te voeren.
Hoe ga je met de goedkeuringsvragen om?
Alle drie de tools voeren opdrachten uit volgens je toestemmingsinstellingen. Cursor houdt ze onder Settings, Agents, Approvals & Execution. Claude Code heeft toestemmingsmodi en Devin Desktop heeft regels voor Allow, Ask en Deny. Blijf bij een eerste publicatie in een modus die om toestemming vraagt, zodat je elke opdracht ziet voordat hij draait.
Behandel de API-sleutel in die tekst als een wachtwoord. De instructies zeggen de tool dat hij hem nooit mag afdrukken of in het project of de repository mag zetten. Hij staat toch in je chatgeschiedenis, dus plak hem alleen in een tool die je vertrouwt en wees voorzichtig als je je scherm deelt.
Wat kun je na de livegang vragen?
- "Publiceer opnieuw bij elke git push." De tool voegt op GitHub een ondertekende webhook toe en elke push bouwt een nieuwe versie.
- "Serveer de app vanaf app.example.com." Je laat eerst een A-record naar het IP-adres van de server wijzen. Het certificaat wordt automatisch uitgegeven.
- "Voeg PostgreSQL toe aan deze app." De database draait op dezelfde server, is van buitenaf niet te bereiken en het adres gaat als
DATABASE_URLnaar de app.
Wat als het vastloopt?
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| De build stopt met exitcode 137 | Geen geheugen meer | Schaal op via het tabblad Grootte en publiceer opnieuw. Het IP en de gegevens blijven hetzelfde |
| De tool kan de instructies niet lezen | Webtoegang is niet goedgekeurd | Keur het goed, of plak zelf de inhoud van het bestand |
| GitHub-opdrachten mislukken | Geen GitHub-login | Voer gh auth login uit |
| De site opent maar toont geen gegevens | Een ontbrekende variabele | Geef de tool de waarde en publiceer opnieuw |
Je hoeft geen tool te gebruiken. Het paneeladres, het e-mailadres en het wachtwoord staan op het tabblad Overzicht en hetzelfde werk kun je met de hand in Coolify doen. Je hebt root-toegang en je kunt alles vanuit het paneel beheren als je dat liever hebt. Heeft een andere tool je code gegenereerd, dan verwijst de algemene gids naar een artikel ervoor.
Veelgestelde vragen
Met welke grootte begin ik?
De verkooppagina raadt minimaal 4 GB RAM, 2 vCores en 40 GB schijf aan, en de build is de reden. Een klein Next.js-project werd gebouwd op 2 GB, terwijl een project met 85 pakketten bij 2 GB zonder geheugen kwam te zitten en bij 4 GB wel werd gebouwd. Je kunt later opschalen vanuit je paneel.
Wat kost het per maand?
De aanbevolen minimumgrootte kost ongeveer $6 per maand (inclusief btw), en buiten Turkije betaal je in Amerikaanse dollars. Dagelijkse back-ups zijn bij de prijs inbegrepen en het verkeer is onbeperkt. Het abonnement op je codeertool is apart. Ons artikel over vaste prijzen helpt je de cijfers uit te rekenen.
Hoe koppel ik mijn eigen domein?
Laat een A-record naar het IP-adres van de server wijzen en geef de tool daarna de domeinnaam. Hij voegt het domein toe en publiceert opnieuw, en het certificaat wordt automatisch uitgegeven. Ons helpartikel behandelt het DNS-record.
Hoe werk ik de app later bij?
Met de webhook op zijn plek push je code met git push en bouwt de server hem. Zonder webhook vraag je de tool opnieuw te publiceren of druk je in Coolify op Redeploy.
Waar hoort de database te staan?
Slaat de app gebruikersgegevens op, dan is PostgreSQL uit hetzelfde paneel de nette oplossing. Koppel bij SQLite de map met Persistent Storage, want de container wordt bij elke publicatie opnieuw opgebouwd en bestanden die erin zijn geschreven, verdwijnen.
Werkt dit met andere codeertools?
Dezelfde tekst werkt in elke tool die opdrachten kan uitvoeren en webpagina's kan lezen. Een tool die alleen een chatvenster is, kan geen server bereiken, dus volg in dat geval onze gids over een site publiceren die met ChatGPT of Claude is gemaakt.
Reacties0
Nog geen reacties
Deel als eerste uw gedachten.
Meld u aan of registreer u om een reactie te plaatsen.