Development deployment guide.
Before we get started, you should install Go (1.20) and Node.js (18).You should have the latest version of Docker (19.03.0+) and Git (2.13+) installed. For a local deploy, 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
$ node --version
v18.15.0
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
In the highlight/docker
directory, run ./run.sh
to start the docker containers.
cd highlight/docker;
./run.sh;
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;
# now, start the frontend. this will run yarn docker:frontend in the monorepo and block until you stop it with ctrl+c.
./run-frontend.sh
# in a second terminal, 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
Visit https://localhost:3000 to view the dashboard and go through the login flow; there are no login credentials required.
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.
Having issues? Here's some things ot 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