147 lines
4.2 KiB
Markdown
147 lines
4.2 KiB
Markdown
# 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 Cloudron’s OIDC and LDAP authentication
|
||
- Proper data separation following Cloudron’s 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:
|
||
```bash
|
||
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`:
|
||
```bash
|
||
curl -L “https://raw.githubusercontent.com/reviewboard/reviewboard/master/reviewboard/static/rb/images/logo.png” -o icon.png
|
||
```
|
||
|
||
4. Build the package:
|
||
```bash
|
||
cloudron build
|
||
```
|
||
|
||
## Testing Locally (Optional)
|
||
|
||
1. Run the Docker image locally to test basic functionality:
|
||
```bash
|
||
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:
|
||
```bash
|
||
cloudron install —image cloudron/reviewboard-app:1.0.0
|
||
```
|
||
|
||
2. Or, to update an existing installation:
|
||
```bash
|
||
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:
|
||
```bash
|
||
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 Cloudron’s 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 Cloudron’s 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:
|
||
```bash
|
||
cloudron logs —app reviewboard.yourdomain.com
|
||
```
|
||
|
||
2. Access the container directly to troubleshoot:
|
||
```bash
|
||
cloudron exec —app reviewboard.yourdomain.com bash
|
||
```
|
||
|
||
3. Validate database connectivity:
|
||
```bash
|
||
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
|
||
|
||
- [Review Board Documentation](https://www.reviewboard.org/docs/)
|
||
- [Cloudron Documentation](https://docs.cloudron.io/) |