mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-10-25 11:17:28 +02:00 
			
		
		
		
	fat docker
This commit is contained in:
		
							parent
							
								
									6ffa80c386
								
							
						
					
					
						commit
						52978ec9ad
					
				| @ -34,7 +34,7 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et | ||||
|         su-exec \ | ||||
|         openssl \ | ||||
|         openssl-dev \ | ||||
|         openjdk21-jre \ | ||||
|         openjdk21-jre-headless \ | ||||
| # Doc conversion | ||||
|         libreoffice \ | ||||
| # pdftohtml | ||||
|  | ||||
							
								
								
									
										84
									
								
								Dockerfile-fat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								Dockerfile-fat
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,84 @@ | ||||
| # Build the application | ||||
| FROM gradle:7.6-jdk17 AS build | ||||
| 
 | ||||
| # Set the working directory | ||||
| WORKDIR /app | ||||
| 
 | ||||
| # Copy the entire project to the working directory | ||||
| COPY . . | ||||
| 
 | ||||
| # Build the application with DOCKER_ENABLE_SECURITY=false | ||||
| RUN DOCKER_ENABLE_SECURITY=true \ | ||||
| ./gradlew clean build  | ||||
| 
 | ||||
| # Main stage | ||||
| FROM alpine:3.20.0 | ||||
| 
 | ||||
| # Copy necessary files | ||||
| COPY scripts /scripts | ||||
| COPY pipeline /pipeline | ||||
| COPY src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ | ||||
| COPY --from=build /app/build/libs/*.jar app.jar | ||||
| 
 | ||||
| ARG VERSION_TAG | ||||
| 
 | ||||
| # Set Environment Variables | ||||
| ENV DOCKER_ENABLE_SECURITY=false \ | ||||
|     VERSION_TAG=$VERSION_TAG \ | ||||
|     JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \ | ||||
|     HOME=/home/stirlingpdfuser \ | ||||
|     PUID=1000 \ | ||||
|     PGID=1000 \ | ||||
|     UMASK=022 \ | ||||
|     FAT_DOCKER=true \ | ||||
|     INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true | ||||
|      | ||||
| 
 | ||||
| # JDK for app | ||||
| 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 \ | ||||
|         curl \ | ||||
|         calibre@testing \ | ||||
|         shadow \ | ||||
|         su-exec \ | ||||
|         openssl \ | ||||
|         openssl-dev \ | ||||
|         openjdk21-jre-headless \ | ||||
| # Doc conversion | ||||
|         libreoffice \ | ||||
| # pdftohtml | ||||
|         poppler-utils \ | ||||
| # OCR MY PDF (unpaper for descew and other advanced featues) | ||||
|         ocrmypdf \ | ||||
|         tesseract-ocr-data-eng \ | ||||
|         font-terminus font-dejavu font-noto font-noto-cjk font-awesome font-noto-extra \ | ||||
| # CV | ||||
|         py3-opencv \ | ||||
| # python3/pip | ||||
|         python3 && \ | ||||
|     wget https://bootstrap.pypa.io/get-pip.py -qO - | python3 - --break-system-packages --no-cache-dir --upgrade && \ | ||||
| # uno unoconv and HTML | ||||
|     pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \ | ||||
|     mv /usr/share/tessdata /usr/share/tessdata-original && \ | ||||
|     mkdir -p $HOME /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders && \ | ||||
|     fc-cache -f -v && \ | ||||
|     chmod +x /scripts/* && \ | ||||
|     chmod +x /scripts/init.sh && \ | ||||
| # User permissions | ||||
|     addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \ | ||||
|     chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \ | ||||
|     chown stirlingpdfuser:stirlingpdfgroup /app.jar && \ | ||||
|     tesseract --list-langs | ||||
| 
 | ||||
| EXPOSE 8080/tcp | ||||
| 
 | ||||
| # Set user and run command | ||||
| ENTRYPOINT ["tini", "--", "/scripts/init.sh"] | ||||
| CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"] | ||||
| @ -31,7 +31,7 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et | ||||
|         curl \ | ||||
|         shadow \ | ||||
|         su-exec \ | ||||
|         openjdk21-jre && \ | ||||
|         openjdk21-jre-headless && \ | ||||
|     # User permissions | ||||
|     mkdir /configs /logs /customFiles && \ | ||||
|     chmod +x /scripts/*.sh && \ | ||||
|  | ||||
| @ -11,14 +11,16 @@ if [ ! -z "$PGID" ] && [ "$PGID" != "$(getent group stirlingpdfgroup | cut -d: - | ||||
| fi | ||||
| umask "$UMASK" || true | ||||
| 
 | ||||
| if [[ "$INSTALL_BOOK_AND_ADVANCED_HTML_OPS" == "true" ]]; then | ||||
| if [[ "$INSTALL_BOOK_AND_ADVANCED_HTML_OPS" == "true" && "$FAT_DOCKER" != "true" ]]; then | ||||
|   apk add --no-cache calibre@testing | ||||
| fi | ||||
| 
 | ||||
| /scripts/download-security-jar.sh | ||||
| if [[ "$FAT_DOCKER" != "true" ]]; then | ||||
|   /scripts/download-security-jar.sh	 | ||||
| fi | ||||
| 
 | ||||
| if [[ -n "$LANGS" ]]; then | ||||
| 	/scripts/installFonts.sh $LANGS | ||||
|   /scripts/installFonts.sh $LANGS | ||||
| fi | ||||
| 
 | ||||
| echo "Setting permissions and ownership for necessary directories..." | ||||
|  | ||||
| @ -233,7 +233,7 @@ | ||||
| 
 | ||||
|           </li> | ||||
| 
 | ||||
|           <li class="nav-item"> | ||||
|           <li class="nav-item" th:if="${@endpointConfiguration.isEndpointEnabled('multi-tool')}"> | ||||
|             <a class="nav-link" href="#" th:href="@{multi-tool}" | ||||
|               th:classappend="${currentPage}=='multi-tool' ? 'active' : ''" th:title="#{home.multiTool.desc}"> | ||||
|               <span class="material-symbols-rounded"> | ||||
| @ -243,7 +243,7 @@ | ||||
|             </a> | ||||
|           </li> | ||||
| 
 | ||||
|           <li class="nav-item"> | ||||
|           <li class="nav-item" th:if="${@endpointConfiguration.isEndpointEnabled('pipeline')}" > | ||||
|             <a class="nav-link" href="#" th:href="@{pipeline}" | ||||
|               th:classappend="${currentPage}=='pipeline' ? 'active' : ''" th:title="#{home.pipeline.desc}"> | ||||
|               <span class="material-symbols-rounded"> | ||||
| @ -253,7 +253,7 @@ | ||||
|             </a> | ||||
|           </li> | ||||
| 
 | ||||
|           <li class="nav-item"> | ||||
|           <li class="nav-item" th:if="${@endpointConfiguration.isEndpointEnabled('compress-pdf')}" > | ||||
|             <a class="nav-link" href="#" title="#{home.compressPdfs.title}" th:href="@{compress-pdf}" | ||||
|               th:classappend="${currentPage}=='compress-pdf' ? 'active' : ''" th:title="#{home.compressPdfs.desc}"> | ||||
|               <span class="material-symbols-rounded"> | ||||
|  | ||||
							
								
								
									
										3
									
								
								test.sh
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								test.sh
									
									
									
									
									
								
							| @ -80,7 +80,8 @@ main() { | ||||
|     # Building Docker images | ||||
|     docker build --no-cache --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile . | ||||
|     docker build --no-cache --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite . | ||||
| 
 | ||||
| 	docker build --no-cache --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-fat -f ./Dockerfile-fat . | ||||
| 	 | ||||
|     # Test each configuration | ||||
|     run_tests "Stirling-PDF-Ultra-Lite" "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml" | ||||
|     run_tests "Stirling-PDF" "./exampleYmlFiles/docker-compose-latest.yml" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user