# 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"]