oTree-org / oTree

Python framework for multiplayer decision games, behavioral experiments, and surveys
https://groups.google.com/g/otree
Other
464 stars 199 forks source link

Feature: add basic Docker setup #97

Closed olafghanizadeh closed 3 years ago

olafghanizadeh commented 3 years ago

Good morning,

I am using oTree for research for my master thesis and I have missed the ability to have it set up containerized. Primarily because it would be easier to set up a isolated environment on a machine, and fast deployment to non-Heroku servers.

Please review PR and make necessary changes!

oTree-org commented 3 years ago

Hi, thank you so much for this contribution! However, I would recommend you share these files through your own repository/blog/website. I used to provide docker files, but I don't have the resources to test and maintain them with every new release, so I removed them. They might get out of date. If you host them on your site, then people could download them on demand.

olafghanizadeh commented 3 years ago

I understand.

I tried looking for existing Docker setups before making my own. Is it not a good idea to have it included and then the community can update when needed?

oTree-org commented 3 years ago

The thing is, if you update it, those updates will only apply to new projects. For all the people with existing projects, they will have old versions of the docker files. That's why I prefer for people to download the docker files at the moment they try to deploy to docker.

Also, my experience is that only a small percentage of oTree users use docker. I wouldn't want to add more files to the project just for them, since it makes the structure more complex for others.

olafghanizadeh commented 3 years ago

I understand!

Perhaps it can live on a branch of the main repo instead? I think it would be too hard for other users to find it if its in my own repo

oTree-org commented 3 years ago

That means each time I make an update I would need to merge to this other branch also. Already the workflow is complex enough; I don't want to make it more complex.

Besides, I don't think that would make it easier to find. Most people are not checking the different branches of the repo. If you make your own repo people could find it through googling "otree docker".