Mintplex-Labs / anything-llm

The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, and more.
https://anythingllm.com
MIT License
27.89k stars 2.83k forks source link

[FEAT]: Enable multi-user on boot #1870

Open ajferrario opened 4 months ago

ajferrario commented 4 months ago

What would you like to see?

As an anythingllm administrator attempting to deploy a number of anythingllm environments, I currently need to set the admin username and password for the initial Admin user in each environment manually before I can create the API key and use the API to configure the needed users, workspaces and other features for that environment.

I'd like to have a fully-automated and hands-off deployment option, and this is one of the main manual steps blocking me from achieving this.

I will file other issues for a couple other things needed for fully-automated deployments.

ajferrario commented 4 months ago

@timothyasp if you'd prefer I'll rename this to enable automated deployment for multi-user environments. I wasn't sure how much content you would like in one FR so I started it out at a granular level.

timothycarambat commented 4 months ago

If anything, in my mind this request makes sense as just one FR, because they are all really close in scope since if we enable multi-user on boot you probably also want to make users and such - let's just keep it one issue for now and if scope grows then we can break it out where it makes sense 👍

dannysteenman commented 1 month ago

+1 for this feature!

timothycarambat commented 1 month ago

@dannysteenman How would this flow work for you - any places you envision and improvement:

Now the instance is in multi-user mode and the instance has a single admin user that can be used now?

dannysteenman commented 1 month ago

@dannysteenman How would this flow work for you - any places you envision and improvement:

  • Boot AnythingLLM with some specific ENV variable(s) set
AUTO_CREATE_ADMIN=1
AUTO_CREATE_ADMIN_CRED="username:password"
  • This creates an admin role user with username username and password password.

Now the instance is in multi-user mode and the instance has a single admin user that can be used now?

I would say that if you supply this var: AUTO_CREATE_ADMIN_CRED it would determine you'd like to setup multi-user mode so I guess you can leave this var: AUTO_CREATE_ADMIN out.

and then next to that maybe have the ability to generate an API key yourself and assign that to this admin instead of generating it via the webui