How to setup Self Hosted Grist Core with an Admin user and additional Users

I have a self hosted instance of Grist runnimg in a Docker container, with the following environment variables set in docker-compose:

- GRIST_SESSION_SECRET=
- GRIST_DEFAULT_EMAIL=
- APP_HOME_URL=
- GRIST_DOMAIN=

I can use Grist to add/modify/delete documents with out any issue, but I cannot determine how to get to the admin functionality. When I click on either the Sign In or Sign Up buttons I’m returned to the Home page.

There are no errors in the logs but the following debug messages appear:

2025-01-23 18:37:27.718 - debug: Auth[GET]: grist_dev.example.com / customHostSession=, method=GET, host=grist_dev.example.com, path=/, org=docs, email=anon@getgrist.com, userId=1, altSessionId=nrFdEYbmo6sh9NZvcLXahz
2025-01-23 18:37:28.239 - debug: Auth[GET]: grist_dev.example.com /session/access/active customHostSession=, method=GET, host=grist_dev.example.com, path=/session/access/active, org=docs, email=anon@getgrist.com, userId=1, altSessionId=nrFdEYbmo6sh9NZvcLXahz
2025-01-23 18:37:28.249 - debug: Auth[GET]: grist_dev.example.com /session/access/all customHostSession=, method=GET, host=grist_dev.example.com, path=/session/access/all, org=docs, email=anon@getgrist.com, userId=1, altSessionId=nrFdEYbmo6sh9NZvcLXahz
2025-01-23 18:37:28.301 - debug: Auth[GET]: grist_dev.example.com /orgs/0/workspaces customHostSession=, method=GET, host=grist_dev.example.com, path=/orgs/0/workspaces, org=docs, email=anon@getgrist.com, userId=1, altSessionId=nrFdEYbmo6sh9NZvcLXahz

The top left down box on the Home page is titled @Guest, so I assume the anon@getgrist.com email is associated with a guest account and I don’t have the correct priveleges.

I added the GRIST_SESSION_SECRET and GRIST_DEFAULT_EMAIL environment variables, hoping it would allow me to login as a admin and I’ve tried creating a fresh container, but the result is the same.

How do I setup a self hosted instance with an admin login, that will allow me to create additional users?

Thank you

Use https://goauthentik.io

1 Like

Can you please explain how I would setup Grist (i.e. what environment variables etc. ) to enable this?

On further research I see this post, which walks through the process of setting up Grist and Athentik.

I have a small homelab installation, that I’d like to share with other household members. Using Athentik seems overkill for my use-case. Is there a way to setup a multi-user environment using Grist core and nothing else?