MCPcopy Index your code
hub / github.com/element-hq/element-admin

github.com/element-hq/element-admin @v0.1.12

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.12 ↗ · + Follow
528 symbols 1,276 edges 101 files 6 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Element Admin

Element Admin is a web-based administration panel for the Element Server Suite, available in both ESS Pro and in the free ESS Community edition.

🚀 Try it

You can try the latest Element Admin using the hosted version at https://admin-beta.element.dev/.

Dashboard screenshot

🚀 Getting started

This component is developed and maintained by Element. It gets shipped as part of the Element Server Suite (ESS) which provides the official means of deployment.

ESS is a Matrix distribution from Element with focus on quality and ease of use. It ships a full Matrix stack tailored to the respective use case.

There are three editions of ESS:

  • ESS Community - the free Matrix distribution from Element tailored to small-/mid-scale, non-commercial community use cases
  • ESS Pro - the commercial Matrix distribution from Element for professional use
  • ESS TI-M - a special version of ESS Pro focused on the requirements of TI-Messenger Pro and ePA as specified by the German National Digital Health Agency Gematik

💬 Community room

Developers and users of Element Admin can chat in the #ess-community:element.io room on Matrix.

📝 Prerequisites and standalone installation

Element Admin is designed to work with the components that ship with ESS. It assumes the following, which is handled out of the box by ESS version 25.9.2 or later:

Under the hood, Element Admin is a single-page application React application which can be deployed in any static hosting service or container environment.

🐳 Using Docker

A pre-built Docker image is available on Element's container registry:

docker run -p 8080:8080 oci.element.io/element-admin:latest

It can be configured using the following environment variables:

Variable Description
SERVER_NAME The name of the Matrix server to use. If not set, the user will be prompted to enter a server name.

A local Docker image can be built from the source code using the following command:

docker build -t element-admin .

📦 Building from the source code

  1. Clone the repository:
git clone https://github.com/element-hq/element-admin.git
cd element-admin
  1. Install dependencies (requires Node.js 18+ and pnpm):
pnpm install
  1. Build the application
pnpm build

The built application will be in the dist/ directory, ready to be deployed to any static hosting service.

🌍 Translations

Element Admin is available in multiple languages. Anyone can contribute to translations through Localazy.

🏗️ Contributing

We welcome contributions from the community! If you'd like to suggest changes or contribute to the project, please come and chat with us first in the #ess-community:element.io room on Matrix.

Development workflow

  • Linting & Formatting: Run pnpm lint to check code style and pnpm fix to auto-fix issues
  • Translation extraction: Run pnpm i18n:extract when adding new translatable strings

⚖️ Copyright & License

Copyright 2025 New Vector Ltd. Copyright 2025, 2026 Element Creations Ltd.

This software is dual-licensed by Element Creations Ltd. It can be used either:

(1) for free under the terms of the GNU Affero General Public License (as published by the Free Software Foundation, version 3 of the License); OR

(2) under the terms of a paid-for Element Commercial License agreement between you and Element (the terms of which may vary depending on what you and Element have agreed to).

Unless required by applicable law or agreed to in writing, software distributed under the Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.

Extension points exported contracts — how you extend this code

IWindow (Interface)
(no doc)
src/config.ts
Register (Interface)
(no doc)
src/router.ts
FileRoutesByFullPath (Interface)
(no doc)
src/routeTree.gen.ts
ErrorMessageDescriptor (Interface)
(no doc)
src/errors.ts
Message (Interface)
(no doc)
src/intl.tsx
RootProps (Interface)
(no doc)
src/components/dialog.tsx
StaticDataRouteOption (Interface)
(no doc)
src/utils/breadcrumbs.ts
LocaleStoreState (Interface)
(no doc)
src/stores/locale.ts

Core symbols most depended-on inside this repo

ensureNoError
called by 32
src/api/mas/index.ts
masBaseOptions
called by 32
src/api/mas/index.ts
wellKnownQuery
called by 31
src/api/matrix.ts
fetch
called by 25
src/utils/fetch.ts
update
called by 20
src/api/mas/api/client/utils.gen.ts
ensureResponseOk
called by 16
src/utils/fetch.ts
computeHumanReadableDateTimeStringFromUtc
called by 15
src/utils/datetime.ts
profileQuery
called by 13
src/api/matrix.ts

Shape

Function 389
Interface 112
Method 14
Class 13

Languages

TypeScript100%

Modules by API surface

src/api/mas/index.ts47 symbols
src/api/mas/api/sdk.gen.ts45 symbols
src/routes/_console.users.$userId.tsx26 symbols
src/api/mas/api/client/utils.gen.ts20 symbols
src/stores/auth.ts19 symbols
src/errors.ts18 symbols
src/api/synapse.ts15 symbols
src/routes/_console.rooms.$roomId.tsx14 symbols
src/routeTree.gen.ts14 symbols
src/routes/_console.supervision.tsx12 symbols
src/routes/_console.personal-tokens.tsx11 symbols
src/components/room-info.tsx10 symbols

For agents

$ claude mcp add element-admin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact