Docker Image für KoSIT Validator 1.6.0
KoSIT Validator 1.6.0 Docker Image mit XRechnung 3.0.2
KoSIT Validator 1.6.0 Docker Image mit XRechnung 3.0.2
Unser Validator nutzt den offiziellen KoSIT Validator
in Version 1.6.0 mit den XRechnung 3.0.2 Scenario-Dateien.
Das Image findest Du auf Github unter apps4everything/kosit-validator.
docker run -d -p 8081:8081 --name kosit-validator apps4everything/kosit-validator:1.6.0
Hier aber trotzdem eine einfache Anleitung zum Nachbauen.
Lade den Validator 1.6.0 von GitHub:
wget https://github.com/itplr-kosit/validator/releases/download/v1.6.0/validator-1.6.0-distribution.zip
unzip validator-1.6.0-distribution.zip
Die Scenarios enthalten die XRechnung-Regeln und Validierungs-XSLTs:
wget https://github.com/itplr-kosit/validator-configuration-xrechnung/releases/download/release-2025-07-10/validator-configuration-xrechnung_3.0.2_2025-07-10.zip
unzip validator-configuration-xrechnung_3.0.2_2025-07-10.zip
Erstelle eine Datei namens Dockerfile mit folgendem Inhalt:
# Multi-stage build für KoSIT Validator 1.6.0 mit XRechnung 3.0.2
FROM eclipse-temurin:21-jre-alpine AS runtime
# Install wget for healthcheck
RUN apk add --no-cache wget
# Create non-root user for security
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
# Set working directory
WORKDIR /app
# Copy KoSIT Validator 1.6.0
COPY validator-1.6.0-standalone.jar /app/validator.jar
# Copy XRechnung 3.0.2 scenario configuration
COPY scenarios.xml /app/
COPY EN16931-CII-validation.xslt /app/
COPY EN16931-UBL-validation.xslt /app/
COPY resources /app/resources
# Set permissions
RUN chown -R appuser:appgroup /app
# Switch to non-root user
USER appuser
# Expose HTTP port
EXPOSE 8081
# Healthcheck
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s \
CMD wget -qO- http://localhost:8081/server/health || exit 1
# Run validator as HTTP daemon
CMD ["java", "-jar", "validator.jar", \
"-s", "scenarios.xml", \
"-r", "/app", \
"-D", \
"-H", "0.0.0.0", \
"-P", "8081", \
"--disable-gui"]
Baue das Docker Image:
docker build -t kosit-validator:1.6.0 .
Der Build dauert 1-2 Minuten, abhängig von deiner Internet-Verbindung.
Starte den Container:
docker run -d -p 8081:8081 --name kosit-validator kosit-validator:1.6.0
Der Validator läuft jetzt auf http://localhost:8081.
Prüfe, ob der Service läuft:
curl http://localhost:8081/server/health
<healthtype xmlns:ns2="http://www.xoev.de/de/validator/framework/1/daemon"><ns2:status>UP</ns2:status><ns2:application><ns2:name>KoSIT Validator</ns2:name><ns2:version>1.6.0</ns2:version><ns2:build>${build.number}</ns2:build></ns2:application><ns2:memory><ns2:freeMemory>157835376</ns2:freeMemory><ns2:maxMemory>2032140288</ns2:maxMemory><ns2:totalMemory>378535936</ns2:totalMemory></ns2:memory></healthtype>
Du solltest ein XML mit einem Node "ns2:status" mit dem Wert "UP" und Informationen zum Speicherverbauch zurückbekommen.
Validiere eine XRechnung:
curl -X POST http://localhost:8081/ \
-H "Content-Type: application/xml" \
-d @deine-rechnung.xml
Du bekommst einen XML-Report zurück mit dem Validierungsergebnis.