Dockerfile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. FROM openjdk:8-jre-slim
  2. ENV NEO4J_SHA256=1c8b6ac0ffd346f0707fe1af713ef74f1c6ce1ea6feb5e9a0bd170e7a8a34a10 \
  3. NEO4J_TARBALL=neo4j-community-3.5.17-unix.tar.gz \
  4. NEO4J_EDITION=community \
  5. NEO4J_HOME="/var/lib/neo4j" \
  6. TINI_VERSION="v0.18.0" \
  7. TINI_SHA256="12d20136605531b09a2c2dac02ccee85e1b874eb322ef6baf7561cd93f93c855"
  8. ARG NEO4J_URI=https://dist.neo4j.org/neo4j-community-3.5.17-unix.tar.gz
  9. RUN addgroup --system neo4j && adduser --system --no-create-home --home "${NEO4J_HOME}" --ingroup neo4j neo4j
  10. COPY ./local-package/* /tmp/
  11. RUN apt update \
  12. && apt install -y curl wget gosu jq \
  13. && curl -L --fail --silent --show-error "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" > /sbin/tini \
  14. && echo "${TINI_SHA256} /sbin/tini" | sha256sum -c --strict --quiet \
  15. && chmod +x /sbin/tini \
  16. && curl --fail --silent --show-error --location --remote-name ${NEO4J_URI} \
  17. && echo "${NEO4J_SHA256} ${NEO4J_TARBALL}" | sha256sum -c --strict --quiet \
  18. && tar --extract --file ${NEO4J_TARBALL} --directory /var/lib \
  19. && mv /var/lib/neo4j-* "${NEO4J_HOME}" \
  20. && rm ${NEO4J_TARBALL} \
  21. && mv "${NEO4J_HOME}"/data /data \
  22. && mv "${NEO4J_HOME}"/logs /logs \
  23. && chown -R neo4j:neo4j /data \
  24. && chmod -R 777 /data \
  25. && chown -R neo4j:neo4j /logs \
  26. && chmod -R 777 /logs \
  27. && chown -R neo4j:neo4j "${NEO4J_HOME}" \
  28. && chmod -R 777 "${NEO4J_HOME}" \
  29. && ln -s /data "${NEO4J_HOME}"/data \
  30. && ln -s /logs "${NEO4J_HOME}"/logs \
  31. && mv /tmp/neo4jlabs-plugins.json /neo4jlabs-plugins.json \
  32. && rm -rf /tmp/* \
  33. && rm -rf /var/lib/apt/lists/* \
  34. && apt-get -y purge --auto-remove curl
  35. ENV PATH "${NEO4J_HOME}"/bin:$PATH
  36. WORKDIR "${NEO4J_HOME}"
  37. VOLUME /data /logs
  38. COPY docker-entrypoint.sh /docker-entrypoint.sh
  39. EXPOSE 7474 7473 7687
  40. ENTRYPOINT ["/sbin/tini", "-g", "--", "/docker-entrypoint.sh"]
  41. CMD ["neo4j"]