Skip to content

Plone: Add info about Plone 6 Docker images #2479

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

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

avoinea
Copy link
Contributor

@avoinea avoinea commented Jul 31, 2024

No description provided.

@tianon
Copy link
Member

tianon commented Jul 31, 2024

I have to admit I'm a little confused -- does this mean the https://hub.docker.com/_/plone image is effectively deprecated and won't be getting 6.x+? 😅

(If so, we should make this change a little differently, especially with a deprecated.md so the note shows up at the top of the image description.)

Copy link

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bah, I cannot request changes, only make a comment.

Anyway, versions are not features, so I created a new section, which should handle the concerns expressed.

I also added suggestions to update links to the old documentation for previous versions.

avoinea and others added 2 commits August 1, 2024 08:56
Co-authored-by: Steve Piercy <[email protected]>
Co-authored-by: Steve Piercy <[email protected]>
@stevepiercy
Copy link

Apparently my suggestion to add a section did not get saved in my review. I'll try again, now that I have permission.

@avoinea
Copy link
Contributor Author

avoinea commented Aug 1, 2024

I have to admit I'm a little confused -- does this mean the https://hub.docker.com/_/plone image is effectively deprecated and won't be getting 6.x+? 😅

@tianon As Plone 6 is not a monolith app anymore and it comes with a decoupled React front-end we don't have a consensus in the Plone Community on what we should do with this image, yet 🙈

I can see there are other apps that tries to put everything in a all-in-one-docker-image like https://github.com/nextcloud/all-in-one?tab=readme-ov-file#nextcloud-all-in-one but I'm not sure what is the best way to handle this situation for the Official Docker Images. Maybe you can point out to some good examples / practices.

(If so, we should make this change a little differently, especially with a deprecated.md so the note shows up at the top of the image description.)

Meanwhile, until we have a decision, I added the deprecated.md file pointing to the officially supported Plone 6 images.

Copy link

@mauritsvanrees mauritsvanrees left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As Plone Release Manager this change looks fine to me.

I don't have experience with how Docker Hub handles these files though, and what the recommendations are.

Quick background:

  • For Plone 5 this image is probably fine, but Plone 5 only gets security support until October this year.
  • For Plone 6 indeed plone/plone-backend and plone/plone-frontend should be used and have been available since at least 2022.
  • I don't know if those two could somehow be promoted to official Docker images, or if it would be better to somehow combine them in one (which seems a bit tricky as two processes should run).

@stevepiercy
Copy link

FYI, I'll be back from vacation tonight, and I'll look into how these docs are auto-generated from their counterparts in the Plone GitHub repos, and work on PRs there. From my quick glance of Docker's docs, it looks like the PRs will go under Plone first, then will get generated in Docker repos.

@tianon
Copy link
Member

tianon commented Aug 1, 2024

Ah, interesting! I would definitely not recommend doing something like an all-in-one, because I have yet to see a truly reliable (and still minimal) "process supervisor" to help manage multiple processes in one container. Two images is perfectly reasonable, especially if the documentation describes how to run them (something like plone:6-frontend + plone:6-backend is what I'd personally suggest, but plone:frontend-6 and plone:backend-6 would be pretty reasonable too, however the latter to me personally suggests that the versioning between frontend and backend might not stay in sync over time, where the former makes it clear that each are individual components from the "6" release).

This is my review. In addition to the new section with versions, I overhauled the docs to comply with Plone 6 Documentation guidelines, mostly.
Copy link

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Please merge!

@stevepiercy
Copy link

Closes plone/plone.docker#179.

@stevepiercy
Copy link

I don't have merge permission. Who does?

After this PR is merged, then I can start work on promoting plone-backend and plone-frontend as official Docker images. I'll merge the docs files from this PR with those from the other repos, then open a pull request for each image.

When Plone 5.x exits security support, then I think we should remove just plone from the official images. See https://hub.docker.com/search?q=plone&image_filter=official.

@stevepiercy
Copy link

Ready for another run of workflows.

@stevepiercy
Copy link

I missed a couple of details, and I think I finally got them all this time. Ready for one more run.

I didn't realize I could run the CI check locally with ./update.sh plone followed by ./markdownfmt.sh -d plone. Sorry for the noise.

@whalelines
Copy link
Contributor

Just to make sure we all have the same understanding, the intention is to deprecate the plone DOI entirely and only move forward with plone/plone-backend and plone/plone-frontend, i.e., to not provide two variants in the plone DOI, plone:6-frontend and plone:6-backend, as @tianon suggested?

@stevepiercy
Copy link

@whalelines, I don't understand what you mean by two variants. @tianon said:

Two images is perfectly reasonable


Are the docs in this PR technically approved? I've been waiting for that piece before I start. If approved, then I can start today on the frontend and backend images' docs in separate PRs. Please let me know. Thank you!

@whalelines
Copy link
Contributor

whalelines commented Aug 7, 2024

There are currently three repositories serving Plone container images.

  1. plone: the Docker Official Image repository for Plone that has images for versions 4 and 5
  2. plone/plone-backend: the Docker-Sponsored Open Source repository for the backend image for Plone 6
  3. plone/plone-frontend: the Docker-Sponsored Open Source repository for the front image for Plone 6

Currently, this PR for updating the documentation for the plone DOI effectively deprecates the entire plone DOI repository, suggesting people get the latest Plone container images from the two Plone DSOS repositories.

What @tianon suggested was that the plone DOI repository can provide both the backend and frontend images for Plone 6. In contrast to how the Plone DSOS repositories are set up, the frontend and backend variants could both be available in the single plone DOI repository by using separate tags for each variant, e.g., plone:6-backend and plone:6-frontend. Lots of DOI repositories provide multiple image variants, e.g., leveraging different base images, language runtimes, or use cases.

I just want to make sure your intention is to deprecate the plone DOI entirely as this PR suggests.

@stevepiercy
Copy link

@whalelines thanks for the explanation and taking care. Can you point me to docs about how to do this, and an example project in the DOI repo? I'm not sure exactly what to search for.

@mauritsvanrees @avoinea I'm available to chat in Discord to discuss how to move forward, and come up with a plan. This turned into something bigger than mere changes to docs that I expected.

@whalelines
Copy link
Contributor

Currently the plone bashbrew file has a single stanza. You would just add a distinct stanza for each variant, e.g., aerospike, arangodb, backdrop, etc.

Copy link
Member

@tianon tianon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems OK now, although perhaps you'd like to hold off on the deprecation notice now that you're planning to add plone:6 images to DOI? (docker-library/official-images#17281 (comment))

Copy link

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avoinea please have a look.

Co-authored-by: Steve Piercy <[email protected]>
@avoinea avoinea requested a review from tianon August 19, 2025 07:48
- Plone 5.x is no longer supported.
- It is strongly recommended to migrate to the latest available Plone version. See https://plone.org/download/release-schedule for details.

The official Docker images for Plone 5.x and Plone 4.x are available here, and are maintained by community volunteers.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be present tense, or past tense? (I don't think they're being actively maintained right now, are they?)

We should also add a DEPRECATED; prefix to README-short.txt (as seen in #2583).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To add a little more detail for #2583, my goal there was to make it really clear (immediately) to users on the page that any images they find here are old, outdated, and unsupported, and they should look elsewhere ASAP - I think this description gets there, but it's not quite as immediately obvious.

I don't have a strong preference either way, as long as we make it clear that this repository is officially deprecated and unsupported (and I think the tense here is the only blocking issue I have with that).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tianon I lack permission to make a comment on your PR #2583, so here it is:

plone/deprecated.md is not listed as one of those in docker-library/docs. Is it used or ignored? See https://github.com/docker-library/docs?tab=readme-ov-file#files-related-to-an-images-docs.

I'm revising this PR to incorporate your suggestions, once we verify that question.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made a few revisions. Hopefully this file gets included in the repo.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I verified that this file gets prepended to the top of the automatically generated README.md. You can test by running ./update.sh plone from the root of the repo.

@tianon @avoinea @fredvd would you please take another look? Thank you!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@stevepiercy
Copy link

After this PR is merged, we can proceed with the checklist at plone/plone.docker#179 (comment).

Copy link
Member

@tianon tianon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love how many load-bearing content updates there are here (as you'll see below, my remaining actual review comments are all in content.md), but it's mostly fine and I'm happy to see this close to getting over the line.

- Plone 5.x
- Plone 4.x

See the [deprecation notice](./deprecated.md) for Plone 6 and later.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once this description ends up on Docker Hub (which is ultimately what all these files are for), this cross-file link won't work. I would suggest just wording this something like "See the deprecation notice above" or similar.

@@ -4,13 +4,19 @@

%%LOGO%%

## Supported versions
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wording is really tripping me up -- as I understand it, neither of these versions are "supported" either upstream or here, which is the whole point of adding the deprecation notice. Also, why is this duplicating the content from the deprecation notice which will appear on Docker Hub just above it?


```console
-e ADDONS="eea.facetednavigation collective.easyform" \
-e VERSIONS="eea.facetednavigation=13.3 collective.easyform=2.1.0"
```

RestAPI:
To use Plone REST API, start the Plone Docker image, then issue a command to `curl`.

```console
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're dropping the $ prefix on the command lines, this is no longer console but rather shell or bash:

Suggested change
```console
```bash


The official Docker images for Plone 5.x and Plone 4.x are available here.

Beginning with Plone 6.x, the frontend and backend run in separate Docker images. There's also a a ZEO server Docker image. All Plone 6.0 and later images are supported by the Plone Foundation and are maintained by community volunteers.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love that it's not completely clear that this repository (https://hub.docker.com/_/plone) is completely deprecated, but I can live with this wording.

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

Successfully merging this pull request may close these issues.

5 participants