Web interface crashes when behind load balancer and VPN server is started

I’m attempting to run Pritunl in an EKS cluster. I followed the docs for adding Pritunl (web) behind a load balancer and it works as expected.

I run the following as documented:

sudo pritunl set app.reverse_proxy true
sudo pritunl set app.redirect_server false
sudo pritunl set app.server_ssl false
sudo pritunl set app.server_port 80

However, when I create [VPN] Server in the web console and attempt to start it, the web console crashes. It appears that the VPN server continues to run until I recover it is to run

pritunl repair-database

at which point the VPN server stops and the web console returns. The error logs point to something which I think is unlikely to be an issue:

Application Logs (from clicking the logs button in the top right hand corner):

[evening-stars-3730][2023-12-04 11:59:55,721][ERROR] Instance doc lost, stopping server. Check datetime settings

I’ve checked this error, the date/time is as expected.

System logs:

   result = sock_info.command(
  File "/usr/lib/pritunl/usr/lib/python3.9/site-packages/pymongo/pool.py", line 769, in command
    self._raise_connection_failure(error)
  File "/usr/lib/pritunl/usr/lib/python3.9/site-packages/pymongo/pool.py", line 969, in _raise_connection_failure
    _raise_connection_failure(self.address, error)
  File "/usr/lib/pritunl/usr/lib/python3.9/site-packages/pymongo/pool.py", line 257, in _raise_connection_failure
    raise NetworkTimeout(msg)
pymongo.errors.NetworkTimeout: pritunl-mongodb:27017: timed out

MongoDB also appears to be behaving as expected despite this error message.

Is this a bug in the software? Or am I misconfiguring something?

The instance doc lost is being caused by losing connectivity to the database. If the server can’t reach the database to update the timestamp the document will expire and cause that error.

The reference to the date/time is from a more common cause when another host in the cluster has an incorrect time and incorrectly removes a document that didn’t expire.