Identifying Neo4j

So, I've found myself making the same stupid mistake a couple times now and wondering how others solve this particular problem...

I run Neo4j on AWS EC2 instance, of which we have two (more to come): the development server and a production server. For the data I work with, production is (for the most part) 100% read-only and just a periodic clone/snapshot of all the work being done in dev.

Now, the issue I have is that I regularly SSH into dev/prod and tunnel the 7687 browser port to inspect the data (on Prod) and manipulate it (on Dev). My guess is y'all can see where this is heading...

However, from the browser, I have no method of distinguishing which instance I'm actually connected to (dev or prod). There's no "name" or any other distinguishing characteristic for me to tell the difference between them. And, of course, I've had the misfortune of occasionally deleting something I shouldn't have on production.

So, how does everyone here deal with this issue and what options are available to me? I've thought about just changing the browser port on production, and maybe that's enough. But it would be awesome if the database could be named somehow and that name appear prominently on the browser page.

Note: because my personal use-case means production should be read-only 99% of the time, is there a neo4j.conf flag I can set to make it read-only (and I can flip it manually + restart the server in the rare case I need to do something to it)?

Two thoughts here:

  1. You can change the color scheme on your nodes in browser to reds for production (be careful!) and blues for development, so whenever you visualize anything it will be obvious.

  2. You can use browser.post_connect_cmd in your config to "play" a custom browser guide. This custom browser guide can just be a tiny HTML file that says, "Yo, you're on production! Watch it!" (or whatever).

Instructions for the browser guides are here:

1 Like