CodeforLancaster / sitegeist

4 stars 1 forks source link

Dockerise application #1

Closed wfaithfull closed 5 years ago

wfaithfull commented 5 years ago

We need to wrap this application into a dockerfile. In my opinion, this dockerfile should exclude stanford coreNLP server. What we need then is:

That way, we can run a single Stanford CoreNLP image on our server (which is a very heavy application), and we can potentially run lots of SiteGeist instances all pointing at the same NLP server. Since each SiteGeist application is only concerned with one geofence, if we want to cover multiple areas we need to run many of them.

This limitation is by design - the task of dynamically setting the geofence requires us to have knowledge of all tweets, because we can't know their geographic location in advance. It is a task that would require a lot of Twitter API access and a lot of heavy lifting.

benjamenjohnsondev commented 5 years ago

Dockerfile for NLP here: https://github.com/NLPbox/stanford-corenlp-docker

wfaithfull commented 5 years ago

Excellent, thought there would be one but that saves me looking around.

jon1010hill commented 5 years ago

NLP no longer required

wfaithfull commented 5 years ago

Yep, coreNLP has been removed now as of #5 (PR #6). This should be good as a standalone docker image now.

jon1010hill commented 5 years ago

I've setup a repo on docker hub that builds an image from master branch. I'm thinking of setting up a really light http server on the linode that docker hub can ping every time a new image is built.

wfaithfull commented 5 years ago

@jon1010hill sounds sensible. We could even just run an NGINX to delegate to a shell script like this.

jon1010hill commented 5 years ago

or circleci

jon1010hill commented 5 years ago

I'm making good progress with CircleCI. Seems to do what we need, should finish it this weekend.