Stirling-PDF/Dockerfile-ultra-lite

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

52 lines
1.8 KiB
Plaintext
Raw Normal View History

# use alpine
2024-02-10 11:29:17 +01:00
FROM alpine:3.19.1
2023-05-18 00:58:15 +02:00
2023-12-18 17:39:26 +01:00
ARG VERSION_TAG
2023-09-04 19:42:22 +02:00
# Set Environment Variables
2023-12-16 11:11:34 +01:00
ENV DOCKER_ENABLE_SECURITY=false \
2023-09-04 19:42:22 +02:00
HOME=/home/stirlingpdfuser \
2023-12-28 18:49:45 +01:00
VERSION_TAG=$VERSION_TAG \
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75"
# PUID=1000 \
2023-12-16 11:11:34 +01:00
# PGID=1000 \
# UMASK=022 \
2023-09-04 19:42:22 +02:00
# Copy necessary files
COPY scripts/download-security-jar.sh /scripts/download-security-jar.sh
COPY scripts/init-without-ocr.sh /scripts/init-without-ocr.sh
COPY pipeline /pipeline
COPY build/libs/*.jar app.jar
2023-09-04 19:42:22 +02:00
# Create user and group using Alpine's addgroup and adduser
2023-12-16 11:11:34 +01:00
#RUN addgroup -g $PGID stirlingpdfgroup && \
# adduser -u $PUID -G stirlingpdfgroup -s /bin/sh -D stirlingpdfuser && \
# mkdir -p $HOME && chown stirlingpdfuser:stirlingpdfgroup $HOME
2023-09-04 19:42:22 +02:00
# Set up necessary directories and permissions
2023-12-16 11:11:34 +01:00
#RUN mkdir -p /scripts /configs /customFiles && \
# chown -R stirlingpdfuser:stirlingpdfgroup /scripts /configs /customFiles /logs /pipeline /pipeline/defaultWebUIConfigs /pipeline/watchedFolders /pipeline/finishedFolders
RUN mkdir /configs /logs /customFiles && \
2023-09-04 19:42:22 +02:00
# Set font cache and permissions
2023-12-16 11:11:34 +01:00
#RUN chown stirlingpdfuser:stirlingpdfgroup /app.jar
chmod +x /scripts/*.sh && \
apk add --no-cache \
ca-certificates \
tzdata \
tini \
bash \
2023-12-31 17:14:55 +01:00
curl \
2024-01-31 20:59:22 +01:00
openjdk17-jre && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories
2023-05-18 00:58:15 +02:00
# Set environment variables
2023-09-04 19:42:22 +02:00
ENV ENDPOINTS_GROUPS_TO_REMOVE=CLI
2023-12-16 11:11:34 +01:00
2024-02-10 11:29:17 +01:00
EXPOSE 8080
ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"]
2023-05-18 00:58:15 +02:00
# Run the application
CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]