Stirling-PDF/Dockerfile-ultra-lite

51 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

# use alpine
FROM alpine:3.21.0
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" \
2024-05-23 00:03:00 +02:00
PUID=1000 \
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 scripts/installFonts.sh /scripts/installFonts.sh
COPY pipeline /pipeline
COPY build/libs/*.jar app.jar
2023-09-04 19:42:22 +02:00
# Set up necessary directories and permissions
2024-05-23 00:03:00 +02:00
RUN 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 && \
apk upgrade --no-cache -a && \
apk add --no-cache \
ca-certificates \
tzdata \
tini \
bash \
2023-12-31 17:14:55 +01:00
curl \
2024-03-09 15:03:46 +01:00
shadow \
2024-05-23 00:03:00 +02:00
su-exec \
2024-05-17 20:18:57 +02:00
openjdk21-jre && \
# User permissions
mkdir -p /configs /logs /customFiles /usr/share/fonts/opentype/noto && \
2024-05-23 00:03:00 +02:00
chmod +x /scripts/*.sh && \
addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \
chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /configs /customFiles /pipeline && \
chown stirlingpdfuser:stirlingpdfgroup /app.jar
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-05-23 00:03:00 +02:00
EXPOSE 8080/tcp
2023-05-18 00:58:15 +02:00
# Run the application
2024-05-23 00:03:00 +02:00
ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"]
CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]