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

Update zope-manager-users.md with addzopeuser script for docker setups #1869

Draft
wants to merge 1 commit into
base: 6.0
Choose a base branch
from

Conversation

acsr
Copy link

@acsr acsr commented Feb 18, 2025

Moved my notes from the original Pull Request #1703 related to ticket #1702


📚 Documentation preview 📚: https://plone6--1869.org.readthedocs.build/

Moved my notes from the original Pull Request #1703 related to ticket #1702
@stevepiercy
Copy link
Contributor

@acsr would you please request a review from someone who has knowledge of this scenario? The technical content is outside my knowledge and experience. I can do English and MyST grammar and syntax, but that's about it. Thank you!

- A running docker swarm stack from the full featured docker based Plone Volto deployment
- Created by current Cookieplone project template including backend, frontend, postgres, traefik, varnish:

#### Create a new Zope Manager User with a non existing user-ID
Copy link
Member

Choose a reason for hiding this comment

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

"with a non existing user-ID" is a bit confusing here. This addzopeuser command is the same as the one mentioned above, it's just a different procedure for running it inside the Docker container. so we can copy some of the same explanations from above about how it behaves if the user already exists.

The user is now available in the ZMI root at at /acl_users/users/manage_users

#### Hown to access the ZMI root from via basicauth and the new user
In the Volto page root use the url `/ClassicUI/aq_parent/acl_users/users/manage_users`
Copy link
Member

Choose a reason for hiding this comment

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

This is a path, not a URL. It's relative to the hostname where the Docker container is served via Traefik.

- In Volto from the browser use the url `/ClassicUI/aq_parent/acl_users/manage_access`

The new user has `Manager` role, but not `Owner` role and no `Take ownership` permission
- You can add the Owner role in the ZMI root manually, but only as the original `admin` user.
Copy link
Member

Choose a reason for hiding this comment

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

Honestly I've never noticed this or run into a situation where it was necessary for a new Manager user to have the Owner role on the Zope root. It feels like unnecessary information. It's also nothing unique to using this script within the docker container.


####` Remark on httpauth challenges for the ZMI `admin user in Cookieplone based Volto and ClassicUI projects using Traefik

The original cookieplone-template `project` in the above full setup includes a traefik middleware `mw-backend-auth` in the `docker-compose.yaml` `service -> backend -> labels` section. This basic httpauth overrides the ZMI httpauth for the original admin user-id.
Copy link
Member

Choose a reason for hiding this comment

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

Can we remove this, given the solution that was merged in plone/cookieplone-templates#154?

The original cookieplone-template `project` in the above full setup includes a traefik middleware `mw-backend-auth` in the `docker-compose.yaml` `service -> backend -> labels` section. This basic httpauth overrides the ZMI httpauth for the original admin user-id.

```{note}
To change the Traefik middleware basicauth password edit the yaml file in devops/stacks/[hosturl].yml named after the hostname and follow the instructions in the comments for `mw-backend-auth` to create a proper hash and redeploy the project.
Copy link
Member

Choose a reason for hiding this comment

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

This is a different topic which should be covered in docs about the Docker stack included in the cookieplone templates, not in this chapter about Zope Manager users.


in the ZMI root
at the Plonelogin
How this has impact on the Plone Volto login needs testing in your particular setup.
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure what these notes are about

- Enter the host via ssh as root
- list the running containers: docker ps
- enter a shell in the first backend container listed: `docker exec -it [[4-digitPartOfID]] bash`
- run command in the app folder: `./docker-entrypoint.sh bin/addzopeuser -c /app/etc/relstorage.conf userid password`
Copy link
Member

Choose a reason for hiding this comment

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

The conf file can also be zope.conf or zeo.conf depending on the configuration. I submitted plone/plone-backend#175 which will make it so you can just run ./docker-entrypoint.sh addzopeuser userid password -- but that won't be available until it's merged and the next Plone 6.1.x image is released.

@acsr
Copy link
Author

acsr commented Feb 19, 2025

@davisagli I moved over all my notes from the closed PR as a first step. I fully agree that there are duplicate informations and some stuff can be moved to the deployment Troubleshooting FAQ. I need to review your comments in detail later and I therefore changed this PR into draft status. I am also happy to see progress in other changes making some of the remarks obsolete.

@acsr acsr marked this pull request as draft February 19, 2025 09:10
davisagli added a commit to plone/plone-backend that referenced this pull request Feb 19, 2025
This makes it easier to run the addzopeuser script with the correct
conf. Relevant to plone/documentation#1869
davisagli added a commit to plone/plone-backend that referenced this pull request Feb 19, 2025
This makes it easier to run the addzopeuser script with the correct
conf. Relevant to plone/documentation#1869
davisagli added a commit to plone/plone-backend that referenced this pull request Feb 19, 2025
…#178)

This makes it easier to run the addzopeuser script with the correct
conf. Relevant to plone/documentation#1869
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: in progress
Development

Successfully merging this pull request may close these issues.

3 participants