Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

META: several improvements for our official images (for Plone 6.1 ?) #143

Open
fredvd opened this issue May 18, 2024 · 3 comments
Open

META: several improvements for our official images (for Plone 6.1 ?) #143

fredvd opened this issue May 18, 2024 · 3 comments
Assignees

Comments

@fredvd
Copy link
Member

fredvd commented May 18, 2024

Gathering some topics for improvement base on existing issues and some discussions during Beethoven sprint 2024.

Use separate paths in frontend and backend containers instead of /app

To prepare for new plone.distributions and creating single container demo images for these distributions, I'd like to discuss to move plone-backend and plone-frontend install paths in the containers to separate paths. They both install in /app now. this means we would need to create and maintain alternative docker-entrypoint.sh's. If plone-backend would install in /backend and plone-frontend in /frontend, a single image plone-demo Docker image could copy from our containers and re-use the docker_entrypoint.sh

/data would contain the zodb/blobstorage /venv the virtualenv required for the backend. ( @ericof you mentionned something at Beethoven sprint this had advantages?

For a distribution single image demo we could then use supervisord (we have to install python anyway) or a lightweight alternative like multirun to start the separate processes.

Switch to another wsgi server

The waitress wsgi server we are now using did have a 3.0 release, but issues like ont responding to SIGINT now adds a 10 second delay to any plone-backend container shutdown. There are also other known issues with waitress. Maybe use an alternative and also actively maintained wsgi server like pyruvate from @tschorr?

Decrease final container image size

For example see #132

Please add more here.

@jensens
Copy link
Member

jensens commented May 18, 2024

+1 for

  • separation of venv and app (actually it is what I do in my project images)
  • a /backend and /frontend in one image

-1 for using supervisor or alike to start both in one

I would create a endpoint with two options to start either one or the other.

ad WSGI server: Either fix waitress or switch to a better one - in Kubernetes missing SIGINT support it is really annoying.

I can also recommend to look at Kaniko to build the images.

@avoinea
Copy link
Member

avoinea commented Jun 4, 2024

+1 for this.

@fredvd With this occasion maybe we can also resurrect the Plone Official Docker image at https://hub.docker.com/_/plone

@tschorr
Copy link

tschorr commented Jul 4, 2024

Maybe use an alternative and also actively maintained wsgi server like pyruvate

Today I've released Pyruvate 1.3.0 and also ran benchmarks with a couple of WSGI servers including waitress and bjoern.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants