Deploying Reviewpad to Your Team

This page will help you get Reviewpad up and running so that your team can enjoy it!

Welcome to Reviewpad for teams!

Reviewpad is a team collaboration tool for code reviews fully integrated with your code host.

Installation

To get Reviewpad up and running, we will use ↗︎ Docker-Compose.

This installation was tested with docker-compose version 1.27.4, build 40524192.

Download the following docker-compose.yml file:

docker-compose.yml0.6KB
version: "3"

services:
  dbserver:
    image: postgres
    expose:
      - "5432"
    environment:
      - POSTGRES_USER=docker
      - POSTGRES_PASSWORD=docker
      - POSTGRES_DB=atlas

  backend:
    image: exploredev/reviewpad:reviewpad-be-vXXX
    ports: 
      - 3000:3000
    volumes:
      - ~/atlas/storage:/storage
    environment:
      - GIT_MOUNT=/storage
    depends_on:
      - dbserver
    env_file:
      - docker-compose.env
    entrypoint: sh -c "sleep 3 && sh /atlas/run.sh"

  app:
    image: exploredev/reviewpad:reviewpad-app-vXXX
    ports:
      - 80:8080
    env_file:
      - docker-compose.env
docker-compose.yml

In this installation, Reviewpad is composed of three components: backend that implements our internal API for code reviews; app that is the web application that users interact with and dbserver which is an out-of-the-box postgres database.

For a basic installation, the only information that you need to fill is the version number in L14 and L28.

Check out the

to see the latest available version.

You can change the location where the git repositories are stored and also any exposed ports.

Configuration

Before running docker-compose, we need to configure the environment of the docker-compose.env file:

ATLAS_PUBLIC_URI="http://[YOUR-SERVER-ADDRESS]"
ATLAS_APP_URI="http://[YOUR-SERVER-ADDRESS]"
BASE_API_URL=""
BASE_API_PORT="3000"
ATLAS_DATABASE_HOST="dbserver:5432"
ATLAS_ADMIN_EMAIL="XXXX@domain.com"
docker-compose.env

The first environment variable ATLAS_PUBLIC_URI should be pointing to the URI of Reviewpad’s backend. For example, if you are running the backend at https://api.reviewpad.explore.dev, that should be URI that you set for it.

The second environment variable ATLAS_APP_URI should be pointing to the URI of Reviewpad’s front-end. For example, if you are running the backend at https://reviewpad.explore.dev, that should be URI that you set for it. This is the URI that is prepended in your Slack notifications.

The third environment variable BASE_API_URL controls the base URL of your backend instance. You only need to change this line if you the backend service in a different machine than the app service. If that is the case, you will need to set it pointing to the base URL.

The fourth environment variable BASE_API_PORT controls the port in the BASE_API_URL that Reviewpad’s backend is being executed. If you can change this port, you also need to update L16 of the docker-compose.yml file.

The ATLAS_DATABASE_HOST specifies where the database is running. Unless you change your database configuration in the docker-compose.yml file, you shouldn’t need to change the default value of this variable.

The ATLAS_ADMIN_EMAIL specifies which email you want to configure to receive notifications from new users in the Reviewpad instance.

Start-up

Once you have setup the version of Reviewpad you want to run and adapted docker-compose.env file, you can start the service with:

docker-compose up --detach

Once the system starts, you should have Reviewpad running in your server at port 80 🚀

Updating Reviewpad