Skip to content

Commit

Permalink
[all] Refactor installation into a microsite. Add Install to the navb…
Browse files Browse the repository at this point in the history
…ar (#116)

* chg: Refactor installation into a microsite. Add Install to the navbar

* Revert "chg: Refactor installation into a microsite. Add Install to the navbar"

This reverts commit 563a24c.

* chg: Refactor installation into separate standard/advanced sections

* chg: Add Install link to the navbar
  • Loading branch information
heysokam authored Feb 9, 2024
1 parent 1023604 commit 4258cfe
Show file tree
Hide file tree
Showing 96 changed files with 262 additions and 238 deletions.
3 changes: 0 additions & 3 deletions docs/manual/01_concepts/_category_.json

This file was deleted.

97 changes: 97 additions & 0 deletions docs/manual/01_install/01_linux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
sidebar_label: Linux
---

import CloneInstructions from '../_partials/cloneInstructions.md'
import AcceptCertificates from '../_partials/acceptCertificates.md'

# Installation on Linux

## Pre-Install Checklist
1. Ensure you have at least 16GB of RAM
_You may run int issues running the full development setup with less_
2. Clone the repository to a location whose path **contains no spaces**.
3. Install Node.js 18
_(versions earlier than 16 are not guaranteed to work)_
4. Install Python >=3.6, [PIP](https://pypi.org/project/pip/), C++, and other build tools
_See the [Mediasoup install instructions](https://mediasoup.org/documentation/v3/mediasoup/installation/) for full details._
5. Install Docker
_Optionally: If you're NOT using docker, install MariaDB, Redis and MinIO manually and update repo's `.env.local` accordingly._

You should now be ready to follow the [Quick Start](#quick-start) instructions.

### Clone the repository
A lot has changed during development, and our monorepo has gotten quite large.
To avoid cloning everything, use this command:

<CloneInstructions />

### Ensure you are running Node 18
The engine to date has only been confirmed to work with Node 16.x and 18.x.
Earlier or later major versions are not guaranteed to work properly.

The best way to install and manage Node.js versions is by using a version manager:
1. Install [NVM](https://github.com/nvm-sh/nvm)
2. Install Node.js 18 with `nvm install 18`
3. _(Optional)_ Make Node.js 18 your default node version with `nvm alias default 18`

_Note: Polyglot [ASDF](https://github.com/asdf-vm/asdf) can also be used for managing node versions._

Please check the output of `node --version` before running the engine.
If you are using a node version below 16, please update or nothing will work.
You will know that you are having issues if you try to install packages at root with `npm install` and you get package dependency errors.

### Docker is your friend
You don't need to use [Docker](https://docs.docker.com/), 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 18, 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
```
Now run Ethereal Engine in your browser by navigating to [this link](https://localhost:3000/location/default).

### Accept Certificates
<AcceptCertificates />

### Admin System and User Setup
You can administrate many features from the admin panel found at the `/admin` route of your deployment.
_eg: `https://localhost:3000/admin` when working in a local deployment._

To give administration rights to a user:
- Open any page in your Ethereal Engine deployment
- Open the user menu _(icon at the top-right of the screen)_
- Click on `Show API key`
- Copy that key to your clipboard _(note: there is an icon to the right of this box for this purpose)_
- Open a terminal and go to the folder where EtherealEngine was cloned.
- Run the command `npm run make-user-admin -- --id={COPIED_USER_ID}` where `COPIED_USER_ID` is the key you just copied on the previous step.
Example: `npm run make-user-admin -- --id=c06b0210-453e-11ec-afc3-c57a57eeb1ac`

![image](../images/userid.png)

> Alternate Method:
> Open the `User` table of your deployment's database and change `userRole` to `admin`
_(It helps to use a graphical database explorer, we recommend [beekeeperstudio.io](https://beekeeperstudio.io/))_
The location of the database can be found in your `.env.local` file.

Test user Admin privileges by going to the `/admin` route of your deployment.


## 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](https://mediasoup.org/documentation/v3/mediasoup/installation/)
- Check your OS-specific instructions:
- [Installing on Windows (10+)](./02_windows.md)
- [Installing on Mac OS X](./01_macOSX.md)
- [Installation Troubleshooting](./06_troubleshooting.md)
- [Advanced Setup](./04_advancedSetup.md)
- [Vite dev server is stalling](https://vitejs.dev/guide/troubleshooting.html#dev-server)

Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
---
sidebar_label: Mac OS X
---
# Installing on Mac OS X

1. Go to the root folder where Ethereal Engine is stored and run
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
sidebar_label: Windows 10+
---

# Installing on Windows 10+
1. Install Python 3 and add python installation directory path to `PATH` env variable.
2. Install Node.js 18
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
sidebar_label: Windows WSL2
---

import CloneInstructions from '../_partials/cloneInstructions.md'
import AcceptCertificates from '../_partials/acceptCertificates.md'
import PythonUbuntu from '../_partials/pythonUbuntu.md'
Expand Down Expand Up @@ -30,7 +34,7 @@ Make sure to enable your WSL distribution once docker desktop is installed and r
You can do so from Docker Desktop App by visiting `Settings > Resources > WSL Integration`.
Enable integration with Ubuntu, and make sure to hit `Apply & Restart`.

![Docker Desktop WSL Distro](../03_devopsDeployment/images/docker-desktop-wsl-distro.jpg)
![Docker Desktop WSL Distro](../03_modules/05_infrastructure/03_devopsDeployment/images/docker-desktop-wsl-distro.jpg)

## Install Node
If Node is not already installed on your machine _(check with `node --version`)_, you can do so by first installing `nvm` and then installing Node with nvm.
Expand Down
Loading

0 comments on commit 4258cfe

Please sign in to comment.