volto icon indicating copy to clipboard operation
volto copied to clipboard

How to put Volto into production?

Open wesleybl opened this issue 6 months ago • 6 comments

Now that the Volto app is deprecated, what is the recommended way to put a Volto into production? Should I use cookieplone to create an "empty addon"?

wesleybl avatar Jun 10 '25 19:06 wesleybl

For the immediate term, does this help? https://training.plone.org/plone-deployment/index.html

For the long-term, we have an open issue in plone/documentation.

https://github.com/plone/documentation/issues/1647

However that issue is mostly about Classic UI, and is migrated from Plone 5.2 and updated for Plone 6. It's also mostly a wireframe and lacks useful content. We need someone with knowledge of how to deploy Plone 6 with Volto to actually write this content.

stevepiercy avatar Jun 10 '25 21:06 stevepiercy

For the immediate term, does this help? https://training.plone.org/plone-deployment/index.html

@stevepiercy In my case it doesn't help much, because this guide uses plone/volto images. I can't use these images in my company. I have to use a node base image.

What I would like to know is which template to use to create a production installation of Volto.

wesleybl avatar Jun 10 '25 21:06 wesleybl

I saw that the Volto image uses the template sub/frontend_project:

https://github.com/plone/plone-frontend/blob/137562b18f2e3e388cc3b9f8444e6e733f66ffb7/pnpm/Dockerfile.builder#L21

Would this be the way?

wesleybl avatar Jun 10 '25 21:06 wesleybl

@wesleybl When we moved from cookiecutter-plone-starter to cookieplone and changed the structure, our overall strategy was to put as much as possible into the add-ons. There is still an app but it becomes all boilerplate, mostly just a package.json which depends on Volto and defines some scripts. The sub/frontend_project template in cookieplone-templates creates this boilerplate.

The plone-frontend image is built on Node base images, so you can probably use it as a starting point. https://github.com/plone/plone-frontend/blob/137562b18f2e3e388cc3b9f8444e6e733f66ffb7/pnpm/Dockerfile is the final image, which is a multi-stage build that copies from https://github.com/plone/plone-frontend/blob/137562b18f2e3e388cc3b9f8444e6e733f66ffb7/pnpm/Dockerfile.builder and https://github.com/plone/plone-frontend/blob/137562b18f2e3e388cc3b9f8444e6e733f66ffb7/pnpm/Dockerfile.prod

davisagli avatar Jun 11 '25 05:06 davisagli

@davisagli unfortunately, in my company I can't send an image to production. I have to compile my project and send only my project folder. It will be inserted into a pre-existing image. So I can't use the Volto image as a base. I could even use the Volto image to compile the project. But that would make things a little more complicated in my workflow. So I prefer to use my company's image, it's similar to the production image.

What I was wondering is just which template I should use. And from what I understand, I should use the sub/frontend_project template.

@stevepiercy , that solves my issue here and from my point of view this issue can be closed. Do you want to keep it open to improve the documentation?

wesleybl avatar Jun 11 '25 19:06 wesleybl

@wesleybl let's leave this issue open, to give it more exposure for its related issue in plone/documentation. I reckon there are more Volto developers looking in plone/volto for such issues than in plone/documentation.

stevepiercy avatar Jun 11 '25 19:06 stevepiercy