Docker compose configuration for neosemantics errors out

Here is the working solution for me:

version: '3'

services:
  neo4j:
    container_name: neo4j
    image: neo4j:3.5.16
    restart: always
    ports:
      - 7474:7474
      - 7687:7687
    environment:
      - NEO4J_AUTH=neo4j/superSecretPassword
      - NEO4J_HOME=/var/lib/neo4j
      - NEO4J_dbms_unmanaged__extension__classes=semantics.extension=/rdf
      - NEO4J_dbms_security_procedures_whitelist=apoc.coll.*,apoc.load.*,semantics.*
      - NEO4J_dbms_security_procedures_unrestricted=apoc.*,semantics.*
      - NEO4J_apoc_export_file_enabled=true
      - NEO4J_apoc_import_file_enabled=true
      - NEO4J_apoc_import_file_use__neo4j__config=true
    volumes:
      - ~/Data/neo4j/data:/var/lib/neo4j/data
      - ~/Data/neo4j/import:/var/lib/neo4j/import
      - ~/Data/neo4j/conf:/var/lib/neo4j/conf
      - ~/Data/neo4j/logs:/var/lib/neo4j/logs
      - ~/Data/neo4j/plugins:/var/lib/neo4j/plugins
      - ~/Data/neo4j/rdf:/var/lib/neo4j/rdf

It turns out, unbeknownst to me until now that neo4j desktop creates it's own instance(s) of the neo4j database. You can't (as far as I can tell) connect neo4j desktop to a running instance of neo4j in a docker container on your host machine. On a mac database instances are stored at /Users/chrisc/Library/Application Support/Neo4j Desktop/Application/neo4jDatabases. When I deleted the databases created by Neo4j Desktop and used a standard web browser to connect to the docker instance, it worked correctly.

2 Likes