Installation of APOC plugin

I am working on a Neo4j deployment using Helm charts (version 2025.7.1) on an AWS EKS cluster and I am facing difficulties in installing the APOC plugin.

So far, my approach has been to manually place the APOC JAR file into the /plugins directory inside the Neo4j pod. However, the file gets deleted whenever the pod restarts. I have also attempted to persist the /plugins directory using different methods, but none of them have worked successfully.

Is there any alternate way to properly persist the /plugins directory or configure the Helm deployment so that the APOC plugin remains available after pod restarts?

1 Like

@gowsikasree.sivaraj

Are you using environment variable NEO4JLABS_PLUGINS and as described at Tooling - Neo4j-Helm User Guide?

1 Like

Hi @gowsikasree.sivaraj - Welcome to the community! I moved the question itself to our APOC category.

@dana_canzano - thank you for addressing

Thank you for the reply @dana_canzano , I haven’t tried the environment variable method. Will try this one.

I am trying to install the APOC extended plugin in order to use the JDBC connector. On my local Windows setup, I was able to get this working by placing the JAR file in the plugins folder, updating the configuration to allow APOC, and restarting the database — after which the APOC procedures became available.

However, when I attempt the same in my AWS EKS Neo4j deployment (running inside a pod), I have encountered some issues. I noticed there are two plugins folders:

  • One located at the root directory

  • Another under /var/lib/neo4j/plugins

Based on the documentation, I placed the JAR file in the root plugins directory, and it appeared to mount successfully. But after restarting the database, I was unable to list any APOC procedures, and none of them seem to have loaded.

My questions are:

  1. Am I placing the JAR file in the correct plugins directory?

  2. Should the APOC JAR be located specifically under /var/lib/neo4j/plugins in a Kubernetes pod?

  3. Is there an additional configuration step I might be missing to have the procedures loaded correctly in this environment?

Any guidance on how to properly set this up in an EKS pod would be greatly appreciated.