mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-11-01 01:21:18 +01:00 
			
		
		
		
	# Description of Changes Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details.
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# dockerfile.dev
 | 
						||
 | 
						||
# Basisimage: Gradle mit JDK 17 (Debian-basiert)
 | 
						||
FROM gradle:8.14-jdk17
 | 
						||
 | 
						||
# Als Root-Benutzer arbeiten, um benötigte Pakete zu installieren
 | 
						||
USER root
 | 
						||
 | 
						||
# Set GRADLE_HOME und füge Gradle zum PATH hinzu
 | 
						||
ENV GRADLE_HOME=/opt/gradle
 | 
						||
ENV PATH="$GRADLE_HOME/bin:$PATH"
 | 
						||
 | 
						||
# Update und Installation zusätzlicher Pakete (Debian/Ubuntu-basiert)
 | 
						||
RUN apt-get update && apt-get install -y \
 | 
						||
  sudo \
 | 
						||
  libreoffice \
 | 
						||
  poppler-utils \
 | 
						||
  qpdf \
 | 
						||
# settings.yml | tessdataDir: /usr/share/tesseract-ocr/5/tessdata
 | 
						||
  tesseract-ocr \
 | 
						||
  tesseract-ocr-eng \
 | 
						||
  fonts-terminus fonts-dejavu fonts-font-awesome fonts-noto fonts-noto-core fonts-noto-cjk fonts-noto-extra fonts-liberation fonts-linuxlibertine \
 | 
						||
  python3-uno \
 | 
						||
  python3-venv \
 | 
						||
# ss -tln
 | 
						||
  iproute2 \
 | 
						||
  && apt-get clean && rm -rf /var/lib/apt/lists/*
 | 
						||
 | 
						||
# Setze die Environment Variable für setuptools
 | 
						||
ENV SETUPTOOLS_USE_DISTUTILS=local
 | 
						||
 | 
						||
# Installation der benötigten Python-Pakete
 | 
						||
RUN python3 -m venv --system-site-packages /opt/venv \
 | 
						||
  && . /opt/venv/bin/activate \
 | 
						||
  && pip install --upgrade pip setuptools \
 | 
						||
  && pip install --no-cache-dir WeasyPrint pdf2image pillow unoserver opencv-python-headless pre-commit
 | 
						||
 | 
						||
# Füge den venv-Pfad zur globalen PATH-Variable hinzu, damit die Tools verfügbar sind
 | 
						||
ENV PATH="/opt/venv/bin:$PATH"
 | 
						||
 | 
						||
COPY . /workspace
 | 
						||
 | 
						||
RUN adduser --disabled-password --gecos '' devuser \
 | 
						||
  && chown -R devuser:devuser /home/devuser /workspace
 | 
						||
RUN echo "devuser ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/devuser \
 | 
						||
  && chmod 0440 /etc/sudoers.d/devuser
 | 
						||
 | 
						||
# Setze das Arbeitsverzeichnis (wird später per Bind-Mount überschrieben)
 | 
						||
WORKDIR /workspace
 | 
						||
 | 
						||
RUN chmod +x /workspace/.devcontainer/git-init.sh
 | 
						||
RUN sudo chmod +x /workspace/.devcontainer/init-setup.sh
 | 
						||
 | 
						||
# Wechsel zum Nicht‑Root Benutzer
 | 
						||
USER devuser
 |