Netlify is great for static sites + a sprinkle of functions. On Wokku, the
static build deploys via the static buildpack, and Netlify Functions become
routes in a small server.
Concept map
| Netlify | Wokku |
|---|---|
| Static publish dir | Static Site (Staticfile / serve dist) |
| Netlify Functions | Routes in a Node server (Node guide) |
| Build command | build script (Node buildpack) |
| Environment variables | Config vars (config) |
_redirects / _headers |
App-level routing / server config |
| Custom domains + SSL | Custom Domains |
Pure static site
If you have no functions, this is the whole migration:
- Make sure your build outputs a folder (e.g.
dist). - Serve it — either commit a
Staticfile(root: dist) or add astart
script that serves the folder. See the Static Site guide. - Deploy:
wokku apps:create my-site --server my-server
git remote add wokku git@git.wokku.cloud:my-site
git push wokku main
Site + functions
Netlify Functions are small HTTP handlers. Move them into a single server (e.g.
Express) that serves both the static build and the /api/* routes:
web: node server.js
Inside server.js, serve the static folder and mount each former function as a
route. Set any secrets the functions used as config vars.
Redirects & headers
Translate _redirects / _headers rules into your server’s routing/middleware
(or your framework’s config). SPA fallback (/* /index.html 200) becomes a
catch-all route returning index.html.
Domain
Add your domain (automatic SSL), verify on my-site.wokku.app, then cut over
DNS — see Custom Domains.
Gotchas
- Build env — set
NODE_ENVand any*_PUBLIC/build-time vars before deploying. - Form handling / identity — Netlify-specific features (Forms, Identity) need an app-level replacement.
- Large media — front the static app with a CDN for high traffic.