Files
KNELProductionContainers/Techops/reviewboard.knownelement.com/ReviewBoard-BuildNotes.md

4.2 KiB
Raw Blame History

Review Board - Cloudron Build Notes

This document provides instructions for building, testing, and deploying the Review Board Cloudron package.

Package Overview

Review Board is a powerful web-based code review tool that helps teams review code, documents, and images before they are committed. This package configures Review Board to run on Cloudron with the following features:

  • PostgreSQL database for data storage
  • Memcached for caching
  • Nginx as the web server
  • Gunicorn as the WSGI server
  • Support for Cloudrons OIDC and LDAP authentication
  • Proper data separation following Cloudrons filesystem layout

Prerequisites

  1. Cloudron CLI tool installed (npm install -g cloudron)
  2. Docker installed and running
  3. Cloudron account with administrative access

Files Included in the Package

  1. CloudronManifest.json - Defines the application for Cloudron
  2. Dockerfile - Instructions for building the Docker image
  3. start.sh - Initialization and startup script
  4. supervisord.conf - Process management configuration
  5. nginx.conf - Web server configuration

Building the Package

  1. Create a new directory for your package files:

    mkdir reviewboard-cloudron
    cd reviewboard-cloudron
    
  2. Create all the package files in this directory.

  3. Download the Review Board icon and save it as icon.png:

    curl -L “https://raw.githubusercontent.com/reviewboard/reviewboard/master/reviewboard/static/rb/images/logo.png” -o icon.png
    
  4. Build the package:

    cloudron build
    

Testing Locally (Optional)

  1. Run the Docker image locally to test basic functionality:

    docker run -p 8000:8000 cloudron/reviewboard-app:1.0.0
    
  2. Access the application at http://localhost:8000 to check if it starts correctly.

Deploying to Cloudron

  1. Install the package on your Cloudron:

    cloudron install —image cloudron/reviewboard-app:1.0.0
    
  2. Or, to update an existing installation:

    cloudron update —image cloudron/reviewboard-app:1.0.0 —app reviewboard.yourdomain.com
    

Post-Installation

  1. Access your Review Board instance at the URL assigned by Cloudron.

  2. Log in using the initial admin credentials:

    • Username: admin
    • Password: Check the file /app/data/admin_password.txt inside the app container:
      cloudron exec —app reviewboard.yourdomain.com cat /app/data/admin_password.txt
      
  3. Configure your repository connections in the Review Board admin interface at /admin/.

Authentication Details

OIDC Authentication (Default)

The package is configured to use Cloudrons OIDC provider when available. Users logging in via OIDC will be automatically provisioned in Review Board.

LDAP Authentication (Alternative)

If OIDC is not available, the package will fall back to using Cloudrons LDAP server for authentication.

Repository Support

Review Board supports the following repository types:

  • Git
  • SVN
  • Mercurial
  • Perforce
  • Bazaar
  • CVS
  • IBM Rational ClearCase
  • And more

Configure these in the Admin > Repositories section after login.

Troubleshooting

  1. Check application logs:

    cloudron logs —app reviewboard.yourdomain.com
    
  2. Access the container directly to troubleshoot:

    cloudron exec —app reviewboard.yourdomain.com bash
    
  3. Validate database connectivity:

    cloudron exec —app reviewboard.yourdomain.com psql “$CLOUDRON_POSTGRESQL_URL
  4. If Review Board shows errors about missing repositories, ensure they are accessible from the Cloudron container.

Backup and Restore

Cloudron automatically backs up the /app/data directory, which includes:

  • Database (via PostgreSQL addon)
  • Media files (uploaded files, screenshots, etc.)
  • Configuration files
  • Repository cache

No additional backup configuration is necessary.

Upgrading Review Board

When a new version of Review Board is released:

  1. Update the Dockerfile to install the new version
  2. Rebuild the Docker image
  3. Update the Cloudron app using the cloudron update command

Additional Resources