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