IBM whitelabel Instant Messenger solution based on Element
Element (formerly known as Vector and Riot) is a Matrix web client built using the Matrix JS SDK.
Element is a modular webapp built with modern ES6 and uses a Node.js build system. Ensure you have the latest LTS version of Node.js installed.
Using yarn instead of npm is recommended. Please see the Yarn install
guide if you do not have it already.
- Install or update
node.jsso that yournodeis at least the current recommended LTS. - Install
yarnif not present already. - Clone the repo:
git clone https://github.com/element-hq/element-web.git. - Switch to the element-web directory:
cd element-web. - Install the prerequisites:
yarn install.- If you're using the
developbranch, then it is recommended to set up a proper development environment (see Setting up a dev environment below). Alternatively, you can use https://develop.element.io - the continuous integration release of the develop branch.
- If you're using the
- Configure the app by copying
config.sample.jsontoconfig.jsonand modifying it. See the configuration docs for details. yarn distto build a tarball to deploy. Untaring this file will give a version-specific directory containing all the files that need to go on your web server.
Note that yarn dist is not supported on Windows, so Windows users can run yarn build,
which will build all the necessary files into the webapp directory. The version of Element
will not appear in Settings without using the dist script. You can then mount the
webapp directory on your web server to actually serve up the app, which is
entirely static content.
Element supports a variety of settings to configure default servers, behaviour, themes, etc. See the configuration docs for more details.
Please read through the following:
To add a new translation, head to the translating doc.
For a developer guide, see the translating dev doc.
Copyright (c) 2014-2017 OpenMarket Ltd Copyright (c) 2017 Vector Creations Ltd Copyright (c) 2017-2025 New Vector Ltd
This software is multi licensed by New Vector Ltd (Element). 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, either version 3 of the License, or (at your option) any later version); OR
(2) for free under the terms of the GNU General Public License (as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version); OR
(3) 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.