Add Dockerfile (fixes #53)
Change-Id: Ide59e9417dd11b69960d62ecac6068bb6ceaca40
diff --git a/Changes b/Changes
index 6987378..bf5ef59 100644
--- a/Changes
+++ b/Changes
@@ -5,6 +5,7 @@
- Exclude module-info in pom (removes warning)
- Remove unnecessary imports
- Update deprecated Configuration constructor
+ - Add Dockerfile.
0.2.8 2022-10-05
- Upgrade dependencies following dependabot.
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..b3ed71f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,52 @@
+# Use alpine linux as base image
+FROM openjdk:19-alpine as builder
+
+# Copy repository respecting .dockerignore
+COPY . /export
+
+WORKDIR /export
+
+RUN apk update && \
+ apk add --no-cache git \
+ maven
+
+RUN git config --global user.email "korap+docker@ids-mannheim.de" && \
+ git config --global user.name "Docker"
+
+# Install Kalamar-Plugin-Export
+RUN mkdir built && \
+ git clone https://github.com/KorAP/Kalamar-Plugin-Export.git Kalamar-Plugin-Export && \
+ cd Kalamar-Plugin-Export && \
+ git checkout master && \
+ mvn clean package
+
+# Package
+RUN cd Kalamar-Plugin-Export && \
+ find target/KalamarExportPlugin-*.jar -exec mv {} ../built/KalamarExportPlugin.jar ';'
+
+RUN apk del git \
+ maven
+
+RUN cd ${M2_HOME} && rm -r .m2
+
+FROM openjdk:19-alpine
+
+RUN addgroup -S korap && \
+ adduser -S export -G korap && \
+ mkdir export && \
+ chown -R export.korap /export
+
+WORKDIR /export
+
+COPY --from=builder /export/built/KalamarExportPlugin.jar /export/
+
+USER export
+
+EXPOSE 7777
+
+ENTRYPOINT [ "java", "-jar" ]
+
+CMD [ "KalamarExportPlugin.jar" ]
+
+
+# docker build -f Dockerfile -t korap/kalamar-plugin-export:{nr} .
diff --git a/README.md b/README.md
index a8a6238..8c3474a 100644
--- a/README.md
+++ b/README.md
@@ -123,7 +123,7 @@
## License
-Copyright (c) 2020-2022, [IDS Mannheim](https://www.ids-mannheim.de/), Germany
+Copyright (c) 2020-2023, [IDS Mannheim](https://www.ids-mannheim.de/), Germany
Kalamar-Plugin-Export is developed as part of the [KorAP](https://korap.ids-mannheim.de/)
Corpus Analysis Platform at the Leibniz Institute for the German Language