Je hoeft geen Dockerfile of buildscript te schrijven. Cubli bouwt je code met Railpack: dat kijkt naar je bestanden, herkent welke taal en welk framework je gebruikt (zoals Node, een statische site of PHP) en bouwt daar een image van. Dat geldt voor code uit de CLI, uit je AI-tool en uit GitHub.
Wat er wordt geüpload
Met cubli up (of de deploy-tool van je AI) pakt de CLI je map in:
- Je
.gitignore-bestanden tellen mee, in elke map, net zoals bij git. Een.dockerignorebovenin telt ook mee. - Deze gaan nooit mee, wat er ook in je ignore-bestanden staat:
.git,node_modules,.enven.env.*,.cubli.json,.cubli-data,.DS_Store, en SSH-sleutels zoalsid_rsaenid_ed25519. - Ingepakt mag het hooguit 200 MB zijn.
Geheimen zet je dus niet in je code maar in variabelen.
Bouwen
Het bouwen gebeurt op een aparte bouwserver en duurt hooguit 15 minuten. Cubli bewaart een buildcache per service, nooit gedeeld met anderen, dus een tweede build gaat meestal sneller.
- Dockerfile: staat er een in je code, dan gebruikt Cubli hem niet. Railpack bouwt je app.
- Node-versie: uit
package.json(engines), anders de huidige LTS. Je kunt hem vastzetten bij je app onder Instellingen, Runtime, Node-versie (20, 22 of 24). - Variabelen tijdens het bouwen: je variabelen zijn beschikbaar bij het bouwen, maar worden niet in het image opgeslagen. Variabelen die in de browser terechtkomen, zoals
VITE_*ofNEXT_PUBLIC_*, worden ingebakken. Zet die dus vóór het deployen, en deploy opnieuw als je ze wijzigt.
Wil je vooraf weten wat Cubli in je map ziet? Draai npx @cubli/cli check. Dat leest je map zonder iets te uploaden en vertelt welk framework het is, wat je app gebruikt en welke variabelen je nog moet zetten.
Starten: de poort
Je app moet luisteren op de poort in de variabele PORT. Cubli zet die zelf; standaard is het 8080. Je ziet en wijzigt de poort bij je app onder Instellingen, Starten.
Een statische site, zoals een Astro-site, hoeft niets te doen: Cubli serveert de bestanden.
Wanneer een versie live gaat
Een nieuwe versie krijgt pas bezoekers als hij antwoordt. Cubli kijkt elke paar seconden of je app op zijn poort reageert. Geef je bij Gezondheidscheck een pad op, zoals /health, dan moet dat pad antwoorden.
- Tot de nieuwe versie klaar is, blijft de vorige gewoon draaien.
- Start de nieuwe versie niet, dan blijft de vorige online en zie je de reden in de deploy.
- Elke versie blijft bewaard, dus terug naar een vorige kan altijd, zonder opnieuw te bouwen.
Wat Cubli aan je app geeft
PORT: de poort waarop je app luistert.CUBLI_URL: het primaire adres van je site, zoalshttps://bakkerijjansen.nl.- Gekoppelde databases geven hun eigen variabelen, zoals
DATABASE_URL. Zie Databases toevoegen en koppelen.
Dank je voor je reactie.Wat miste je? Mail het naar support@cubli.io
Lees ook
Kom je er niet uit? Mail support@cubli.io, of vraag het vanuit je dashboard: Hulp





