AppsGit ServerReviewboard

Review Board

Extensible and friendly code review tool for projects and companies of all sizes.

Directory Structure

    • .env
    • docker-compose.yml

docker-compose.yml

version: '3.7'
 
services:
  # The backend Postgres database server.
  #
  # This is accessed directly by Review Board.
  #
  # In production, this should be shared across all Review Board instances.
  db:
    image: postgres:13-alpine
    environment:
      # The Postgres admin username.
      - POSTGRES_USER=admin
 
      # The Postgres admin password.
      #
      # CHANGEME: Use a strong password!
      - POSTGRES_PASSWORD=admin123
 
      # The name of the Postgres database storing Review Board content.
      - POSTGRES_DB=reviewboard
 
      # The Postgres username for Review Board.
      - POSTGRES_RB_USER=reviewboard
 
      # The Postgres password for Review Board.
      #
      # CHANGEME: Use a strong password!
      - POSTGRES_RB_PASSWORD=reviewboard123
 
    volumes:
      - ./db_data:/var/lib/postgresql/data/
      - ./postgres/init-reviewboard-db.sh:/docker-entrypoint-initdb.d/init-reviewboard-db.sh
 
    restart: 'on-failure'
 
 
  # The backend memory caching server.
  #
  # This is accessed directly by Review Board.
  #
  # In production, this should be shared across all Review Board instances,
  # and should be configured with at least 2GB of RAM.
  memcached:
    image: memcached:alpine
    restart: 'on-failure'
 
    entrypoint:
      - memcached
 
      # The amount of RAM available for memcached.
      #
      # CHANGEME: Set this to a suitable amount for your server. We recommend
      #           at least 2GB in production (2048).
      - -m 128
 
 
  # The backend Review Board server.
  #
  # This should not be accessed directly. Instead, please access the frontend
  # nginx server.
  reviewboard:
    image: beanbag/reviewboard:7.0
    depends_on:
      - db
      - memcached
 
    environment:
      - DATABASE_TYPE=postgresql
 
      # The name of your company.
      #
      # CHANGEME: You should use your actual name here. It's used for
      #           internal state and your in-app support page.
      - COMPANY=Docker Compose Test
 
      # CHANGEME: Set this to the database username above.
      - DATABASE_USERNAME=reviewboard
 
      # CHANGEME: Set this to the database password above.
      - DATABASE_PASSWORD=reviewboard123
 
      # CHANGEME: Set this to your accessible domain name.
      - DOMAIN=localhost
 
    volumes:
      - ./sitedir:/site
 
 
  # The frontend nginx web server.
  #
  # This serves up static media (CSS, JavaScript, and images), and forwards
  # all other requests to the Review Board backend server.
  #
  # This is the server you will access for Review Board.
  nginx:
    image: nginx:alpine
    restart: always
    depends_on:
      - reviewboard
 
    environment:
      # CHANGEME: Set this to your accessible domain name above.
      - NGINX_HOST=localhost
 
      # The public port used to access this instance.
      #
      # If changed, you will need to change 'ports' below to match.
      - NGINX_PORT=80
 
    ports:
      - 80:80
 
    volumes:
      - ./sitedir:/var/www/reviewboard
      - ./nginx_templates:/etc/nginx/templates

Resources

Website: https://www.reviewboard.org/

GitHub: https://github.com/reviewboard/reviewboard

Docker Hub: https://hub.docker.com/r/beanbag/reviewboard

Configuration: https://www.reviewboard.org/docs/manual/latest/admin/installation/docker/