Star us on GitHub
Star
Menu

Development deployment guide.

Learn how to set up the dev deployment of highlight.io to start contributing.
1
Prerequisites

Before we get started, you should install Go (1.20), Node.js (18), and yarn (v3+). You should have the latest version of Docker (19.03.0+) and Git (2.13+) installed. We suggest configuring docker to use at least 8GB of RAM, 4 CPUs, and 64 GB of disk space.

$ go version go version go1.20.3 darwin/arm64
Copy
$ node --version v18.15.0
Copy
$ yarn --version v3.5.0
Copy
$ docker --version Docker version 20.10.23, build 7155243
Copy
$ docker compose version Docker Compose version v2.15.1
Copy
2
Clone the repository.

Clone the highlight.io repository and make sure to checkout the submodules with the --recurse-submodules flag.

git clone --recurse-submodules https://github.com/highlight/highlight
Copy
3
Start highlight.

In the highlight/docker directory, run ./run.sh to start the docker containers.

cd highlight/docker; ./run.sh;
Copy
4
(Optional) Running in different terminals.

While the above instructions will hot-reload, you might want more control of parts of the stack when developing. Running the dev workflow manually is easy in different terminals as well.

# first, start the infrastructure containers cd highlight/docker; ./start-infra.sh;
Copy
# start the backend. this will run make start-no-doppler in backend and block until you stop it with ctrl+c. cd highlight/docker; ./run-backend.sh
Copy
# now, start the frontend in a second terminal. this will run yarn docker:frontend in the monorepo and block until you stop it with ctrl+c. ./run-frontend.sh
Copy
5
Visit the dashboard.

Visit https://localhost:3000 to view the dashboard and go through the login flow; use the password set in docker/.env variable ADMIN_PASSWORD with any valid email address.

6
View your first session.

After clicking around on the dashboard for a bit, you should see a session appear at https://localhost:3000/1/sessions. Click on the session to view the session details page.

7
Troubleshoot the deployment.

Having issues? Here's some things to try. First run the docker ps command and ensure that all containers are in a 'healthy' state. As a second step, run docker compose logs to see the logs for the infra containers. Looking at the logs, if any containers are not healthy, use the follow commands to start from scratch. If this doesn't help with troubleshooting, please reach out.

docker ps docker compose logs # delete everything in the docker compose stack docker compose down --remove-orphans --volumes --rmi local
Copy