How to run many sites in same Plone6/Volto instance?

Hi community.

I’m running Plone6 and Volto in an EKS and need some guidance on how to run more than 1 site on same instance. Under Admin settings I dont see any option to create a new site.

The only way I can create is from backend:8080 and access it from URL mysite.com/NewSite.

I’m building images from cookieplone project, but I still didnt figure out how to have a second site. Once I try to edit a NewSite page I’m redirected to Home site, it means to root site mysite.com/.

Should I create 1 Back and 1 Front pods for every site? Or can I have many sites in same Back/Front instances?

Is there a particular reason you want to use the same Zope instance for the backend? You are almost surely better off having separate ones for each site for devops and backup reasons. While you can technically have mounted DBs on one Zope the Plone support for that has fallen behind, and if I could easily move my old sites away from that I would.

For the frontend, I have never tried to use one frontend for two sites but I would be very surprised if that works. I think at the very least the API root needs to point to a single site and the Volto configs don't have a rule for that.

Hi @Esoth

I took sometime to realize how to configure a Helm Chart for Plone 6, but at end I hope I found a solution.

I created a project with cookieplone and from there I created a Helm Chart with 1 deploy for Postgres, 1 deploy for backend as statefullset (2 replicas), N deployments for N sites for frontend image (1 pod per site).

And finally a Nginx in front of frontend to redirects requests for each frontend site.

So, my initial question is answered: all N frontend sites can have same backend (2 backend replicas). In case N is too big and 2 backend is not enough I can easily increase its backend replicas to 3 or more.

I didnt find similar Chart on Plone Github, but I hope that is a good solution.

For now is working, will update this topic in future whether such chart is running good or not.

That seems like a very different problem you’ve solved. Originally it sounded like you wanted to do what was quite common: have one Zope running multiple Plone sites. Or did I misunderstand?

It’s unfortunate but you can’t currently run the same volto frontend for multiple sites (effectively using the host header to determine what the backend api url would be similar to what plone VHM does). There was a effort to fix it but not enough interest to get it finished.
BTW, we went away from EKS and AWS and helm. Too expensive. You get the same thing from fly.io or similar for a lot less.
We are also moving away from Volto to true headless using hydra. Then don’t need to run a heavy volto instance at all unless editing and so options like SSG become possible. Then you can effectively run your site for free.