ARG java=25-jdk-slim FROM openjdk:${java} ARG version="3.9.0" ARG user="heritrix" ARG userid=1000 LABEL version=${version} LABEL user=${user}/$userid # create user RUN \ groupadd -g $userid $user && \ useradd -r -u $userid -g $user $user # install dependencies and other requirements (for contrib) RUN \ apt-get update && \ apt-get install -y --no-install-recommends \ youtube-dl \ wget \ tar && \ rm -rf /var/lib/apt/lists/* WORKDIR /opt # download latest version according to: # https://repo1.maven.org/maven2/org/archive/heritrix/heritrix-contrib RUN \ wget -O heritrix-contrib-${version}-dist.tar.gz https://repo1.maven.org/maven2/org/archive/heritrix/heritrix-contrib/${version}/heritrix-contrib-${version}-dist.tar.gz && \ tar xvfz heritrix-contrib-${version}-dist.tar.gz && \ rm heritrix-contrib-${version}-dist.tar.gz && \ mv heritrix-contrib-${version} heritrix && \ chmod u+x heritrix/bin/heritrix && \ chown -R $user:$user /opt/heritrix ADD entrypoint.sh /opt/entrypoint.sh RUN chmod +x /opt/entrypoint.sh && \ chown $user:$user /opt/entrypoint.sh WORKDIR /opt/heritrix USER $user ENV HERITRIX_HOME /opt/heritrix # let it run in the foreground, required for docker ENV FOREGROUND true # standard webport # NOTE: that the webpage is via HTTPS only available! EXPOSE 8443 CMD ["/opt/entrypoint.sh"]