JenaFuseki / Dockerfile
histlearn's picture
Update Dockerfile
20511b0 verified
# Use the official OpenJDK image as a parent image
FROM openjdk:17-jdk-slim
# Set environment variables
ENV FUSEKI_HOME /fuseki
ENV FUSEKI_BASE /fuseki/run
# Install wget
RUN apt-get update && apt-get install -y wget
# Download and install Apache Jena Fuseki
RUN wget https://dlcdn.apache.org/jena/binaries/apache-jena-fuseki-5.1.0.tar.gz \
&& tar -xzf apache-jena-fuseki-5.1.0.tar.gz \
&& mv apache-jena-fuseki-5.1.0 /fuseki \
&& rm apache-jena-fuseki-5.1.0.tar.gz
# Create directories for databases and logs
RUN mkdir -p /fuseki/run /fuseki/databases && chmod -R 777 /fuseki/run /fuseki/databases
# Add a basic shiro.ini configuration to allow open access
RUN echo "[main]" > /fuseki/run/shiro.ini && \
echo "sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager" >> /fuseki/run/shiro.ini && \
echo "securityManager.sessionManager = \$sessionManager" >> /fuseki/run/shiro.ini && \
echo "[users]" >> /fuseki/run/shiro.ini && \
echo "[roles]" >> /fuseki/run/shiro.ini && \
echo "[urls]" >> /fuseki/run/shiro.ini && \
echo "/** = anon" >> /fuseki/run/shiro.ini
# Expose Fuseki port
EXPOSE 3030
# Set the working directory
WORKDIR /fuseki
# Start Fuseki with default memory dataset
CMD ["./fuseki-server", "--mem", "/ds"]