esitarski/RaceDB

Add web server to Docker container (eg. nginx).

Closed this issue · 9 comments

The current Docker container includes the Postgres database, however, it still uses RaceDB's internal Python web server (waitress).
A far better solution is to extend the container to use a proper web server (eg. nginx).
This requires gunicorn to bridge the web server to Django so that Django is called for the dynamic content.
And, the web server must be configured to access RaceDB's static files (requiring collectstatic calls in startup).
A good explanation is here.

Corrected original comment - current container uses Postgres, not MySql.

Sounds like this adds an extra layer of complication with little benefit. Unless RaceDB becomes an online registration platform served in the cloud, rather than "just" something run at the race site, I don't see the point. This would also mean either there would be two code streams (one for docker and one for traditional install) or the old install method would have to be depreciated.

As far as features is concerned, there is so much code in the Cross Manager ecosystem than needs clean up, this would be a very low priority item.

How about there could be some reverse proxy default config for running RaceDB via Nginx? This way people could at least easily add their SSL/TLS settings for example. Also caching config of Nginx & browser would probably make most people happy, unless you're running RaceDB for a thousands of simultaneous connections. At that point, feel free to fork and make yourself happy with your own code? :)

Sound like a good plan. I personally would like to see the "old install" retired for good. However, there are, it think more pressing issues with CrossMgr ecosystem, such as:

  • move the github account to an organization
  • move the website to github, and with it any releases
  • retire all the google web/drive crap
  • break up CrossMgr repo into separate programs based on common library (ie. not have fives apps in one repo)
  • move all the other apps into github releases supporting all platforms
  • clear up RaceDB container, etc.
  • create CrossMgr container for "cloud deployment" (current outstanding feature request).
  • etc.

The current ecosystem is a miss-mash of stuff that, IMO, is hard to maintain.

Well, chop chop. Hit the Convert to Org button.

Yes, HTTPS support should be done.

Old issue. Closing.