[PR #158] [MERGED] [FEATURE] Enable the ability to have multi user instances #3224

Closed
opened 2026-02-22 18:33:19 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Mintplex-Labs/anything-llm/pull/158
Author: @timothycarambat
Created: 7/25/2023
Status: Merged
Merged: 7/25/2023
Merged by: @timothycarambat

Base: masterHead: multi-user-instances


📝 Commits (10+)

📊 Changes

73 files changed (+4824 additions, -594 deletions)

View changed files

📝 README.md (+29 -12)
📝 frontend/package.json (+1 -2)
📝 frontend/src/App.jsx (+34 -1)
📝 frontend/src/AuthContext.jsx (+7 -6)
frontend/src/components/AdminSidebar/index.jsx (+263 -0)
frontend/src/components/Modals/Password.jsx (+0 -121)
frontend/src/components/Modals/Password/MultiUserAuth.jsx (+92 -0)
frontend/src/components/Modals/Password/SingleUserAuth.jsx (+76 -0)
frontend/src/components/Modals/Password/index.jsx (+97 -0)
📝 frontend/src/components/Modals/Settings/Keys/index.jsx (+78 -94)
frontend/src/components/Modals/Settings/MultiUserMode/index.jsx (+153 -0)
📝 frontend/src/components/Modals/Settings/PasswordProtection/index.jsx (+54 -67)
📝 frontend/src/components/Modals/Settings/index.jsx (+97 -30)
frontend/src/components/Preloader.jsx (+16 -0)
frontend/src/components/PrivateRoute/index.jsx (+63 -0)
📝 frontend/src/components/Sidebar/index.jsx (+18 -1)
📝 frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx (+2 -1)
frontend/src/hooks/usePrefersDarkMode.js (+9 -0)
frontend/src/hooks/useQuery.js (+3 -0)
frontend/src/hooks/useUser.js (+18 -0)

...and 53 more files

📄 Description

connect #115

  • Test migration from an existing installation

As an instance owner I should be able to swap my instance into a multi-user configuration. From this action I should expect to have all the administrator and hypervisor abilities one would expect to control a system like this.

Enabling Multi-User mode is non-reversible and you will be the first admin in the system by default. There must always be at least one admin. Since this system is not centralized - if no admins remember their passwords then your instance is locked.

Screen Shot 2023-07-25 at 2 08 11 AM

The actions available to admins are as follows:

System Settings
these settings apply to your entire instance.

  • Prevent non-admin users from deleting workspaces
  • Set a non-admin message quote per 24 hours per user

Invitations

  • Create/Manage invitation links for an instance (not useful on localhost obviously 😛) that new users can create non-admin accounts with

User Management

  • CRUD of users as an admin as well as the ability to create new users without invites as well as promote users to admins.

Workspace Management

  • CRUD of workspaces. Add/remove users to workspaces.
  • By default admins can see all workspaces. They dont need to be added to them.

Workspace Chat Management

  • View and delete messages by user/workspace. Very basic functionality.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Mintplex-Labs/anything-llm/pull/158 **Author:** [@timothycarambat](https://github.com/timothycarambat) **Created:** 7/25/2023 **Status:** ✅ Merged **Merged:** 7/25/2023 **Merged by:** [@timothycarambat](https://github.com/timothycarambat) **Base:** `master` ← **Head:** `multi-user-instances` --- ### 📝 Commits (10+) - [`1722eaf`](https://github.com/Mintplex-Labs/anything-llm/commit/1722eaf41260305cc5e0900e7e7cc0d8aa731504) multi user wip - [`57a563f`](https://github.com/Mintplex-Labs/anything-llm/commit/57a563ff408aa87024d7ea955b062c59357ad0f7) WIP MUM features - [`d42ac06`](https://github.com/Mintplex-Labs/anything-llm/commit/d42ac065692b17ec5f2d9a47dbc366d7033b623c) invitation mgmt - [`ff4f64e`](https://github.com/Mintplex-Labs/anything-llm/commit/ff4f64e3adb35213c0a212c0cd84c41f015a24f4) suspend or unsuspend users - [`510e686`](https://github.com/Mintplex-Labs/anything-llm/commit/510e686c2c999c6a85c5395319cf52204f9f2b0d) workspace mangement - [`8f16d98`](https://github.com/Mintplex-Labs/anything-llm/commit/8f16d986103809a88a97ad3da9254be492f3acc5) manage chats - [`3a1c7d1`](https://github.com/Mintplex-Labs/anything-llm/commit/3a1c7d13fb4cdfd5df5213c67890878f061c0560) manage chats - [`b135bca`](https://github.com/Mintplex-Labs/anything-llm/commit/b135bcaa8cfe6eecdba4a49fb7149f93971b69bb) add Support for admin system settings for users to delete workspaces and limit chats per user - [`7034e7a`](https://github.com/Mintplex-Labs/anything-llm/commit/7034e7abb1b75d329b8c7ecb2dbb12d78853c11e) fix issue ith system var - [`492e88b`](https://github.com/Mintplex-Labs/anything-llm/commit/492e88bc306b44777b8e7b571f3c07cdf495534e) cleanup and bug fixes ### 📊 Changes **73 files changed** (+4824 additions, -594 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+29 -12) 📝 `frontend/package.json` (+1 -2) 📝 `frontend/src/App.jsx` (+34 -1) 📝 `frontend/src/AuthContext.jsx` (+7 -6) ➕ `frontend/src/components/AdminSidebar/index.jsx` (+263 -0) ➖ `frontend/src/components/Modals/Password.jsx` (+0 -121) ➕ `frontend/src/components/Modals/Password/MultiUserAuth.jsx` (+92 -0) ➕ `frontend/src/components/Modals/Password/SingleUserAuth.jsx` (+76 -0) ➕ `frontend/src/components/Modals/Password/index.jsx` (+97 -0) 📝 `frontend/src/components/Modals/Settings/Keys/index.jsx` (+78 -94) ➕ `frontend/src/components/Modals/Settings/MultiUserMode/index.jsx` (+153 -0) 📝 `frontend/src/components/Modals/Settings/PasswordProtection/index.jsx` (+54 -67) 📝 `frontend/src/components/Modals/Settings/index.jsx` (+97 -30) ➕ `frontend/src/components/Preloader.jsx` (+16 -0) ➕ `frontend/src/components/PrivateRoute/index.jsx` (+63 -0) 📝 `frontend/src/components/Sidebar/index.jsx` (+18 -1) 📝 `frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx` (+2 -1) ➕ `frontend/src/hooks/usePrefersDarkMode.js` (+9 -0) ➕ `frontend/src/hooks/useQuery.js` (+3 -0) ➕ `frontend/src/hooks/useUser.js` (+18 -0) _...and 53 more files_ </details> ### 📄 Description connect #115 - [x] Test migration from an existing installation As an instance owner I should be able to swap my instance into a multi-user configuration. From this action I should expect to have all the administrator and hypervisor abilities one would expect to control a system like this. Enabling Multi-User mode is **non-reversible** and you will be the first admin in the system by default. There must **always** be at least one admin. Since this system is not centralized - if no admins remember their passwords then your instance is locked. <img width="1779" alt="Screen Shot 2023-07-25 at 2 08 11 AM" src="https://github.com/Mintplex-Labs/anything-llm/assets/16845892/ae71f9b3-18f0-443b-a8cb-509daae72b62"> The actions available to admins are as follows: **System Settings** these settings apply to your entire instance. - Prevent non-admin users from deleting workspaces - Set a non-admin message quote per 24 hours per user **Invitations** - Create/Manage invitation links for an instance (not useful on localhost obviously 😛) that new users can create non-admin accounts with **User Management** - CRUD of users as an admin as well as the ability to create new users without invites as well as promote users to admins. **Workspace Management** - CRUD of workspaces. Add/remove users to workspaces. - By default admins can see all workspaces. They dont need to be added to them. **Workspace Chat Management** - View and delete messages by user/workspace. Very basic functionality. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-22 18:33:19 -05:00
yindo closed this issue 2026-02-22 18:33:19 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Mintplex-Labs/anything-llm#3224