So things that are missing out of top of my head:
For publishing from your own builder instance:
- setup the publisher endpoint - service that will be called from builder when hitting publish
- bundle the app in the publisher
- start the server, watch for changes, ensure its always running
To run your own builder:
- setup postgres
- start server for the builder, also watch changes, ensure its always running
Published app optimizations:
- For automatic image resizing and webp conversion we are using cloudflare's image resizer, so with docker you would need an additional service that does the same thing. Client just tries to load an image from the url you define, service has to deliver and cache resized images
Optionally you could preoptimize manually and just serve whatever you got, but different image sizes need to be served to different screen sizes and layouts.
- CDN for static ressources (optional ofc)
I am not sure if I forgot something