Skip to content

User system

Gramps Web is not meant to be exposed to the internet for public access, but only by authenticated users. User accounts can be created by the site owner via the command line or web interface, or by self-registration and subsequent approval by the site owner.

User roles

The following user roles are currently defined.

Role Role ID Permissions
Guest 0 View non-private objects
Member 1 Guest + view private objects
Contributor* 2 Member + add objects
Editor 3 Contributor + edit and delete objects
Owner 4 Editor + manage users
Admin 5 Owner + edit other trees in multi-tree setup

* Note that the "Contributor" role is currently only partially supported; e.g., family objects cannot be added since they imply a modification of the underlying Gramps person objects of family members. It is recommended to use the other roles whenever possible.

Managing users

There are two ways to manage users:

  • With owner permissions using the web interface
  • On the command line on the server

The owner account required to first access the web app can be added in the onboarding wizard that is automatically launched when accessing Gramps Web with an empty user database.

Managing users on the command line

When using Docker Compose, the basic command is

docker compose run grampsweb python3 -m gramps_webapi user COMMAND [ARGS]

The COMMAND can be add or delete. Use --help for [ARGS] to show the syntax and possible configuration options.

Approving self-registered users

When a user self-registers, they are not granted immediate access. An email is sent to the tree owner about the new user registration and the user is sent an email request to confirm their email address. Successfully confirming their email address changes their role from unconfirmed to disabled. While the user account is in either of those two roles, the user cannot log in. The tree owner must review the user's request and assign the user an appropriate role before they are allowed to log in.