Dear Jürgen et al.,
I initially followed the same approach that Jürgen mentioned: having a single server with multiple user accounts. Obviously, I had to address the same problem: having to re-route the ports 80 and 443 to the user-specific oTree ports (additionally, also re-routing HTTP to HTTPS so that all traffic is encrypted). The consequence was that no experiments could be run simultaneously, and when a different user wanted to run their oTree experiment, I had to change the nginx configuration file.
We soon set up a second server and then a third server and a fourth … with several users ending up having accounts on multiple servers, because when they wanted to run their most recent experiment, the server that they had initially used was occupied by someone else.
As a consequence, I recently switched to simply setting up one server per user. All these servers are virtual machines, so cloning an existing server to set up a new one is a matter of minutes (of course, I delete all the data that has been collected on the cloned server). Fortunately, our IT department says that I will run out of IP addresses before I hit any hardware limitations regarding disk space, CPU performance, RAM available … :-D
It would be interesting, though, to hear more from Alex about their Dokku-based implementation! What are the advantages, Alex, over having a different server (virtual machine) per user?
One Dokku-based solution is oTree Manager. Unfortunately, it is has turned into abandonware …
> Sub-domain hosting and wildcard SSL certificated proved difficult in university IT systems. Reverse proxying subpaths (
example.com/otree1) to container instances appears to be impossible at this time due to some hard-coded oTree url routing.
Best,
Holger