Issues migrating from manual install to 3.0.24 docker image

86 views
Skip to first unread message

Ruby

unread,
Feb 15, 2025, 12:02:30 PMFeb 15
to Review Board Community
hi there!

I'm administrating an older local instance of reviewboard. I'm moving it from a "manual installation" to docker to make future upgrades easier. While the docker images work great for the most part, I've run into two snags during migration that I could use help with.

# snag 1:

This instance uses S3 for attachment hosting. When I load certain reviews I get a site crash and a stack trace. The S3 config hasn't changed, and is stored in the db anyway, so I'm surprised to see a failure like this. Is it possible that a python dep is missing and needs to be added to the image manually?

boto_error.png

# snag 2:

Our server architecture requires us to use a proxy server in front of the entire reviewboard setup (meaning, there's a proxy that delegates traffic to our nginx instance and from there to the rb server instance). The proxy handles auth workflows and some idiosyncratic hosting concerns. For the most part this works brilliantly - as I click around in the app, network requests go to my intended user-facing URL and work as expected. While testing, though, a user reported that _some_ interactions are trying to hit the nginx URL directly, which unfortunately doesn't work with our server architecture. I traced through the frontend code and found that API requests return an object with a "links" property which has this improper base URL in it. I'm trying to figure out how to point these resource links to the correct, user-facing URL. If it helps, one specific workflow that this affects is adding reviewers to a new review request.

links_url.png

===

right now my only debugging option is to get into the docker images and trek thru the source code myself, which has been tedious, so I'd appreciate any thoughts on the above!

best,
-ruby

Christian Hammond

unread,
Feb 25, 2025, 7:11:51 PMFeb 25
to revie...@googlegroups.com
Hi Ruby,

I’m sorry for the wait. We’ve been pretty swamped with support contract work and an upcoming launch.

The first screenshot is showing a Python 2.7 install. Modern Review Board only supports 3.x. Is this from the new Docker server? Which version of Review Board is that on?

For the second, can you check the Admin UI -> General Settings and see if the Server URL is what you expect?

Christian

--
Christian Hammond
President/CEO of Beanbag
Makers of Review Board


--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/reviewboard/31e3674e-49b6-4be0-bb56-1c6eff681a53n%40googlegroups.com.

Ruby

unread,
Feb 27, 2025, 2:39:09 PMFeb 27
to Review Board Community
hey Christian! thanks for taking a look here.

yes, this is a legacy install of this product that is in need of some maintenance. We determined that getting the install migrated onto docker first would make upgrading reviewboard and its dependencies easier (our current deployment is a manual install, so managing dependency upgrades turned out to be a real pain, especially from python 2.7 -> 3). The error I posted is from the docker image for 3.0.24, using the same S3 config that works today on our manual install on 3.0.20.

I had found that setting (admin -> general settings -> server url), and updated it to point to the correct user-facing URL already - it didn't seem to change any behavior here. The only part of the deployment that knows the nginx URL specifically is the nginx host config - there's no sense in which reviewboard would have access to that, right? especially not in the docker world where these processes don't even run on the same container. So I'm at a loss for how reviewboard would build URLs that reference it.

appreciate any thoughts,
-Ruby
Reply all
Reply to author
Forward
0 new messages