Files
osintbuddy/ob/_janus/janusgraph.Dockerfile

72 lines
2.6 KiB
Docker
Executable File

# Copyright 2023 JanusGraph Authors, simplified by jerlendds
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
FROM debian:buster-slim as builder
ARG TARGETARCH
ARG JANUS_VERSION=1.0.0-rc2
ENV JANUS_VERSION=${JANUS_VERSION} \
JANUS_HOME=/opt/janusgraph
WORKDIR /opt
RUN apt update -y && apt install -y gpg unzip curl && \
curl -fSL https://github.com/JanusGraph/janusgraph/releases/download/v${JANUS_VERSION}/janusgraph-${JANUS_VERSION}.zip -o janusgraph.zip && \
curl -fSL https://github.com/JanusGraph/janusgraph/releases/download/v${JANUS_VERSION}/janusgraph-${JANUS_VERSION}.zip.asc -o janusgraph.zip.asc && \
curl -fSL https://github.com/JanusGraph/janusgraph/releases/download/v${JANUS_VERSION}/KEYS -o KEYS && \
gpg --import KEYS && \
gpg --batch --verify janusgraph.zip.asc janusgraph.zip && \
unzip janusgraph.zip && \
mv janusgraph-${JANUS_VERSION} /opt/janusgraph && \
rm -rf ${JANUS_HOME}/elasticsearch && \
rm -rf ${JANUS_HOME}/javadocs && \
rm -rf ${JANUS_HOME}/log && \
rm -rf ${JANUS_HOME}/examples && \
rm -rf ${JANUS_HOME}/conf/janusgraph-*.properties && \
rm -rf ${JANUS_HOME}/conf/gremlin-server
FROM eclipse-temurin:11-jre
ARG CREATED=test
ARG REVISION=test
ARG JANUS_VERSION=1.0.0-rc2
ENV JANUS_VERSION=${JANUS_VERSION} \
JANUS_HOME=/opt/janusgraph \
JANUS_CONFIG_DIR=/etc/opt/janusgraph \
JANUS_DATA_DIR=/var/lib/janusgraph \
JANUS_SERVER_TIMEOUT=30 \
JANUS_STORAGE_TIMEOUT=60
RUN groupadd -r janusgraph --gid=999 && \
useradd -r -g janusgraph --uid=999 -d ${JANUS_DATA_DIR} janusgraph && \
apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends krb5-user && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /opt/janusgraph/ /opt/janusgraph/
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod 755 /usr/local/bin/docker-entrypoint.sh && \
mkdir -p ${JANUS_INITDB_DIR} ${JANUS_CONFIG_DIR} ${JANUS_DATA_DIR} && \
chown -R janusgraph:janusgraph ${JANUS_HOME} ${JANUS_INITDB_DIR} ${JANUS_CONFIG_DIR} ${JANUS_DATA_DIR}
EXPOSE 8182
WORKDIR ${JANUS_HOME}
USER janusgraph
ENTRYPOINT [ "docker-entrypoint.sh" ]
CMD [ "janusgraph" ]