Running Neodash on Azure web app for containers

I've been using NeoDash since I discovered it at a Graphconnect 2022 session. I used it a bit running on a standalone docker container, then I used the hosted version for some proof of concepts.

Now I'm working with an organization that has an AuraDB instance, and I want to get them a hosted standalone neodash on Azure. It appears the best (and lowest cost) way to host this is Azure web apps for containers.

It took me a bit to get it figured out, but some things are working, and some are not:
Working:

  • Azure webapp instance forwards https and neodash runs (on port 5005)
  • Standalone mode is enabled
  • Auto-connects to my auradb instance using provided connection details
  • Auto-logon to N4j using provided credentials

Not Working:

  • loads generic dashboard (just ignores my standalonedashboardname parameter)
  • getting the warning: "NeoDash is running with a plaintext password in config.json"

The parameters don't appear to be accepted properly if I use the "startup file or command" from Deplayment Center in the azure web apps config. I ONLY get them to work when I set them using the Azure CLI:
Here's the command that got me this far:

az webapp config appsettings set --resource-group "myresourcegroupname" --name "My-web-app-name" --settings WEBSITES_PORT=5005 standalone=true standaloneProtocol="neo4j+s" standaloneHost="myhostname.databases.neo4j.io" standalonePort="7687" standaloneDatabase="neo4j" standaloneUsername="neo4j"  standalonePassword="mysupersecretpassword" standaloneDashboardName="My Custom Dashboard" ssoEnabled=false

So I'm close. The dashboard just doesn't load properly, and I get the message about "Warning: NeoDash is running with a plaintext password in config.json" and not sure how to avoid that issue.

@niels_dejong - Thanks for your work on this project - it has been excellent to work with #NeoDash

Ok - I DID find the fix for the standaloneDashboard issue - I was missing the parameter standaloneDashboardDatabase="neo4j".

That fixed the auto-loading, but I'm still wondering if anyone knows how to prevent the warning about the plaintext password... it is stored in the Azure web app config. But I'm not sure if there's a way I can obfuscate it in a way that makes neodash happy

Thanks!

Hi @pdrangeid ,

Glad to hear you made it work so far.
The "hard" password warning was added for the reason that many people were not aware of the potential security risk that came with setting a password in `config.json`, which is exposed to the user's browser. Of course it's less of a risk when the user is read-only and the data is public, but regardless i strongly advise setting up a standalone instance of NeoDash with SSO or a username/password sign-in.

If you're sure you are okay with having the password publicly available you can choose to just comment out the warning in the code (these lines):

https://github.com/neo4j-labs/neodash/blob/master/src/dashboard/Dashboard.tsx#L53-L59

But again, I don't recommend it.

Let me know if there's anything else I can help with,
Niels

Hi, is there any more documentation on the protocols and settings for getting Neodash to connect to an Azure instance?
I have been using the dashboard on an Aura DB and would now like to scale the work into an Azure Enterprise solution. So if anyone can suggest the connection protocol then it would be a great help.
Cheers
Andy