From 44e79ee7b631172748e77ff05a4fcf52d38d228f Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <janne@kuschku.de>
Date: Wed, 6 Apr 2022 18:01:39 +0200
Subject: [PATCH] feat: docker image for languagetool with fasttext

---
 .gitignore |  4 ++++
 Dockerfile | 23 +++++++++++++++++++++++
 Makefile   | 15 +++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 Dockerfile
 create mode 100644 Makefile

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4f9cefd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.iml
+/.idea/*
+!/.idea/copyright/
+.DS_Store
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..a7e4614
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,23 @@
+ARG VERSION=5.7
+
+FROM openjdk:16-slim-buster AS builder
+
+RUN apt-get update && \
+    apt-get install -y wget unzip git build-essential && \
+    rm -rf /var/lib/apt/lists/*
+RUN git clone https://github.com/facebookresearch/fastText.git && \
+    cd fastText && \
+    make
+ARG VERSION
+RUN wget https://www.languagetool.org/download/LanguageTool-$VERSION.zip && \
+    unzip LanguageTool-$VERSION.zip && \
+    rm LanguageTool-$VERSION.zip
+
+FROM openjdk:16-slim-buster
+ARG VERSION
+COPY --from=builder /LanguageTool-$VERSION /languagetool
+COPY --from=builder /fastText/fasttext /languagetool/fasttext
+
+WORKDIR /languagetool
+
+ENTRYPOINT [ "java", "-cp", "languagetool-server.jar", "org.languagetool.server.HTTPServer" ]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..59abd11
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,15 @@
+VERSION := 5.7
+IMAGE := k8r.eu/justjanne/$(shell basename $(shell git remote get-url origin) .git)
+TAGS := $(shell git describe --always --tags HEAD)
+
+.PHONY: build
+build:
+	docker build --pull -t $(IMAGE):$(TAGS) --build-arg VERSION=$(VERSION) .
+	docker tag $(IMAGE):$(TAGS) $(IMAGE):latest
+	@echo Successfully tagged $(IMAGE):$(TAGS) as latest
+
+.PHONY: push
+push: build
+	docker push $(IMAGE):$(TAGS)
+	docker push $(IMAGE):latest
+	@echo Successfully pushed $(IMAGE):$(TAGS) as latest
-- 
GitLab