Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Running Locally

Khauri McClain edited this page Oct 9, 2019 · 5 revisions

The project can be run locally in a few easy steps.
The project is composed of three services which you can run one or more of if you desire.

For example: Your signaling server and web client are hosted online somewhere, but in order for a user to start a virtual browser, they create it on their own machine and feed it the server's address. In that way they have an isolated browser environment that other people can control.

1. Install Dependencies

Ensure you have docker, node, and yarn installed. These are the only tools you need to run the project locally.

Install the necessary packages by running yarn in the services/web and services/server folders.

There is no need to run yarn in the services/virtual-browser folder.

2. Configure dotenv

Copy the contents of example.env to a file named simply .env.

See the wiki on dotenv config for more information.

3. Build the turtus-browser image

Run yarn docker-build inside of services/virtual-browser to build an image named turtus-browser

4. Launch the server and web client

You'll need two terminals for this.

Run yarn dev or yarn build && yarn start inside of services/web

Run yarn dev or yarn build && yarn start inside of services/server

5. Done

Everything should work out of the box pretty much. Hopefully this entire process can be simplified to one step in the future, potentially with the help of other docker commands.

Troubleshooting

Q: The browser throws an error upon starting

First check to see if you have any hanging instances of the turtus-browser image running by typing docker container ls into your terminal. If so, type docker container kill <container-id>

For some reason having multiple containers open locally causes Xvfb to report that there are no open display ports. Hopefully this will be resolved soon.