Claude super rough first cut of a few packages. Almost certainly entirely unusable...
This commit is contained in:
147
CloudronPackages/Reviewboard/ReviewBoard-BuildNotes.md
Normal file
147
CloudronPackages/Reviewboard/ReviewBoard-BuildNotes.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# 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/)
|
Reference in New Issue
Block a user