Daniel Himmelstein
Daniel Himmelstein

Reputation: 1929

Hosting a public (read only) Neo4j instance in the cloud

I'm working on a open science project to learn why drugs work. We've created a network called Hetionet with 47,031 nodes and 2,250,197 relationships. We're using Neo4j and have a GraphGist tutorial showcasing our approch.

I'd like to let anyone interact with our network. The Neo4j Browser offers the flexibility we want with a nice user interface. So I was thinking a solution would be to setup a public Neo4j 3.0 Community server with the settings:

Here are additional considerations:

  1. Cloud hosting: we want to host this in the cloud so it's always available. It looks like AWS would be the cheapest option?
  2. Reproducibility: it would be nice if we could make the configuration reproducible and easy to redeploy. Docker for Neo4j that downloads the database from GitHub?
  3. A killer feature would be linking to or embedding a browser with a prefilled query (see this unresolved question).

So my question is:

Additional notes:

Upvotes: 4

Views: 960

Answers (2)

Daniel Himmelstein
Daniel Himmelstein

Reputation: 1929

Thanks @michael-hunger for setting us on the right track. We're now publicly hosting Hetionet v1.0 at https://neo4j.het.io.

In short, we used Docker and host the instance on a DigitalOcean Droplet. Here is a longer discussion with more details. You can also check out our Docker setup and modified neo4j.conf.

Thus far we haven't run into any security or scaling issues. If we do, we'll add those to discussion mentioned above.

Upvotes: 2

Michael Hunger
Michael Hunger

Reputation: 41706

your ideas all make sense.

You can create a browser-guide for your dataset, e.g. from your graphgist, similar to :play http://guides.neo4j.com/graphgists

With this repo you can turn asciidoc (like graphgists) into browser guides: https://github.com/jexp/neo4j-guides

Rik did some blog posts on it: http://blog.bruggen.com/2016/03/an-easier-better-tastier-beergraphguide.html

Since 3.0.1, there are even some means to add a form, whose content is then used in the queries.

You have to enable the browser guide in the whitelist in conf/neo4j.conf

browser.remote_content_hostname_whitelist=http://host:port

Since Neo4j 3.0.1 you can setup the browser with an :play URL for your users:

http://host:7474/browser?cmd=play&arg=http://host:port/path/to/guide.html

Regarding Docker, my colleague Ryan just published a docker image for the panama papers that is based on their published database: https://github.com/ryguyrg/panama-neo4j

PS: Feel also free to reach out to me via email michael at neo4j

Upvotes: 4

Related Questions