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

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

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

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.*