> For the complete documentation index, see [llms.txt](https://eric-lo.gitbook.io/lab-grpc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eric-lo.gitbook.io/lab-grpc/environment-setup-and-prerequisite.md).

# Environment setup and prerequisite

## Docker image for this lab

We have created a docker image which contains all the software needed in this lab. You can use the docker image on our server **node-1** or on your own computer.

## Execute docker image on node-1

1. SSH to gateway (if you have connected to CSE VPN, skip this step):

   `ssh your-account-name@gw.cse.cuhk.edu.hk`
2. SSH to node-1\
   `ssh your-account-name@node-1.cse.cuhk.edu.hk`
3. Run the docker container with our lab docker image:\
   `docker run -it --rm cscyliu/csci4160grpclab:1.23.2 bash`

* Protobuf compiler (protoc) 3
* Maven 3.6.0
* Java JDK 1.8
* GO 1.23.2
* Protoc gRPC GO plugin protoc-gen-go v1.3.2

## Your workspace

In the following sections, we will use `$HOME/grpclab` as the workspace.

```bash
mkdir ~/grpclab
cd ~/grpclab
```
