cancel
Showing results forΒ 
Search instead forΒ 
Did you mean:Β 

Join the community at Nodes 2022, our free virtual event on November 16 - 17.

APOC refuses to work πŸ˜“

Sitso
Node

I am trying and almost giving up to make APOC work with my docker setup but no avail. Clearly I am missing something.

Steps i took:

1) download image with: $ docker pull neo4j:4.4.8-community
2) download matching 4.4 apoc jar file from: https://github.com/neo4j-contrib/neo4j-apoc-procedures
3) make folders in working dir: plugins, data, logs
4) copy apoc-4.4.0.6-all.jar in plugins directory
5) run the following:

docker run -d \
--publish=7474:7474 \
--publish=7687:7687 \
--volume=$(pwd)/data:/data \
--volume=$(pwd)/logs:/logs \
--volume=$(pwd)/plugins:/plugins \
--env=NEO4J_AUTH=neo4j/s3cr3t \
--env=NEO4J_dbms_security_procedures_unrestricted=apoc.\\\* \
--env=NEO4J_dbms_security_procedures_allowlist=apoc.\\\* \
--name neo4j-test neo4j

6) open up http://localhost:7474/browser/ and test if apoc is alive with command: CALL apoc.index.list();
results in:

Neo.ClientError.Procedure.ProcedureNotFound
There is no procedure with the name `apoc.index.list` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.

7) pieces of the debug.log:

--------------------------------------------------------------------------------
[ DBMS config ]
--------------------------------------------------------------------------------
DBMS provided settings:
dbms.default_listen_address=0.0.0.0
dbms.directories.logs=/logs
dbms.directories.neo4j_home=/var/lib/neo4j
dbms.memory.pagecache.size=512M
dbms.security.procedures.allowlist=apoc.*dbms.directories.plugins=/plugins
dbms.security.procedures.unrestricted=apoc.*
dbms.tx_log.rotation.retention_policy=100M size

...

2022-07-09 11:47:06.863+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.config.list is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.

Anyone can help me?

 

 

 

 

1 REPLY 1

glilienfield
Ninja
Ninja

I have no idea if this is the issue, but when I compare your two lines with 'apoc' in them with a config I have for a database that has apoc working, mine has the following line comment out:

#dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*