Installation
Getting up and running requires just a few steps, but this can be tricky, depending on your platform and current environment. Please follow the directions for your environment.
Pre-Install Checklist
- Ensure you have at least 16GB of RAM - you may run into issues running the full development setup with less
- Clone the repository
- Install Node.js 16 or 18 (earlier versions not guaranteed to work)
- Install Python >=3.6 + PIP, C++, and other build tools. See the Mediasoup install instructions for full details.
- Install Docker (optional but highly recommended)
- (Optional) If you're NOT using docker, install MariaDB and Redis.
You should now be ready to follow the Quick Start instructions.
Clone the repository
A lot has changed during development, and our monorepo has gotten quite large. To avoid cloning the entire thing, use this command:
git clone https://github.com/etherealengine/etherealengine --depth 1
Ensure you are running Node 16 or 18
The engine to date has only been confirmed to work perfectly with Node 16.x and 18.x. Earlier or later major versions are not guaranteed to work properly.
A version manager can be helpful for this:
Before running the engine, please check node --version
If you are using a node version below 16, please update or nothing will work.
You will know you are having issues if you try to install at root and are
getting dependency errors.
Docker is your friend
You don't need to use Docker, but it will make
your life much easier.
If you don't wish to use Docker, you will need to setup mariadb and redis on
your machine. You can find credentials in /scripts/docker-compose.yml
Quick Start
If you are lucky, this will just work. However, you may encounter some issues. Make sure you are running Node 16, and check your dependencies.
cd path/to/etherealengine
cp .env.local.default .env.local
npm install
npm run dev-docker
npm run dev-reinit
npm run dev
Setup Elastic Search & Kibana
Elastic Search and Kibana will be automatically launched with npm run dev
.
Elasticsearch & Kibana will be running on localhost port 9200 & 5601 respectively.
This will automatically set up and run Redis/MariaDB docker containers, and Ethereal Engine client/server/instance-server instances.
In a browser, navigate to https://127.0.0.1:3000/location/default
The database seeding process creates an empty location called 'default', as well as some template scenes 'sky-station' and 'apartment'. It can be navigated to by going to 'https://127.0.0.1:3000/location/default'
As of this writing, the cert provided in the etherealengine package for local use is not adequately signed. Browsers will throw up warnings about going to insecure pages. You should be able to tell the browser to ignore it, usually by clicking on some sort of 'advanced options' button or link and then something along the lines of 'go there anyway'.
Chrome sometimes does not show a clickable option on the warning. If so, just
type badidea
or thisisunsafe
when on that page. You don't enter
that into the address bar or into a text box, Chrome is just passively listening
for those commands.
Admin System and User Setup
You can administrate many features from the admin panel at https://localhost:3000/admin
To make a user an admin, open a page and open the profile menu. There is a button labelled Show User ID
which opens a text field with your userId. Paste it in and run the following command in
your terminal:
npm run make-user-admin -- --id={COPIED_USER_ID}
Example:
npm run make-user-admin -- --id=c06b0210-453e-11ec-afc3-c57a57eeb1ac
Alternate Method:
Look up in User table and change userRole to 'admin' (It helps to use a graphical database explorer, we recommend beekeeperstudio.io)
Test user Admin privileges by going to /admin
Advanced Installation and Troubleshooting
If you run into any trouble with the Quick Start instructions:
- Please make sure you've followed the Mediasoup installation instructions
- Check your OS-specific instructions:
- Installation Troubleshooting
- Advanced Setup