Improve Docker build with version information

Change-Id: I76983897cb77730e6c4d659b6aaa92fee54ddc85
diff --git a/Dockerfile b/Dockerfile
index 967f8bf..4012f44 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,10 +13,14 @@
 
 RUN CGO_ENABLED=0 go test ./...
 
+ARG BUILDDATE="[unset]"
+ARG BUILDCOMMIT="[unset]"
+ARG BUILDVERSION="EARLY"
+
 # Build static
 RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
     go build -v \
-    -ldflags "-extldflags '-static' -s -w" \
+    -ldflags "-X github.com/KorAP/Koral-Mapper/config.Buildtime=${BUILDDATE} -X github.com/KorAP/Koral-Mapper/config.Buildhash=${BUILDCOMMIT} -X github.com/KorAP/Koral-Mapper/config.Version=${BUILDVERSION} -extldflags '-static' -s -w" \
     --trimpath \
     -o /src/koralmapper ./cmd/koralmapper/
 
@@ -34,6 +38,10 @@
 
 EXPOSE 5725
 
+ARG BUILDVERSION="EARLY"
+ARG BUILDCOMMIT="[unset]"
+ARG BUILDDATE="1970-01-01T00:00:00Z"
+
 COPY --from=build /etc/ssl/certs /etc/ssl/certs
 COPY --from=build /src/mappings /mappings
 COPY --from=upx   /koralmapper      /koralmapper
@@ -43,6 +51,13 @@
 LABEL maintainer="korap@ids-mannheim.de"
 LABEL description="Docker Image for Koral-Mapper"
 LABEL repository="https://github.com/KorAP/Koral-Mapper"
+LABEL org.opencontainers.image.title="Koral-Mapper"
+LABEL org.opencontainers.image.description="Docker Image for Koral-Mapper"
+LABEL org.opencontainers.image.url="https://github.com/KorAP/Koral-Mapper"
+LABEL org.opencontainers.image.source="https://github.com/KorAP/Koral-Mapper"
+LABEL org.opencontainers.image.created="${BUILDDATE}"
+LABEL org.opencontainers.image.revision="${BUILDCOMMIT}"
+LABEL org.opencontainers.image.version="${BUILDVERSION}"
 
 # docker build -f Dockerfile -t korap/koral-mapper:latest .
 # docker run --rm --network host korap/koral-mapper:latest -m /mappings/*.yaml
diff --git a/Makefile b/Makefile
index debd0f4..1c6225b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,14 @@
 MODULE  = github.com/KorAP/Koral-Mapper
 CONFIG  = github.com/KorAP/Koral-Mapper/config
 DEV_DIR      = $(shell pwd)
-BUILDDATE    = $(shell date -u '+%Y-%m-%d_%I:%M:%S%p')
+BUILDDATE    = $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
 BUILDVERSION = $(shell git describe --tags --abbrev=0 2>/dev/null)
 BUILDCOMMIT  = $(shell git rev-parse --short HEAD)
+GO_LDFLAGS   = -X $(CONFIG).Buildtime=$(BUILDDATE) \
+               -X $(CONFIG).Buildhash=$(BUILDCOMMIT) \
+               -X $(CONFIG).Version=$(BUILDVERSION) \
+               -s \
+               -w
 
 BUILDOUT =
 ifeq ($(ACTION), build)
@@ -12,16 +17,12 @@
 
 
 ifeq ($(strip $(BUILDVERSION)), )
-  BUILDVERSION = "EARLY"
+  BUILDVERSION = EARLY
 endif
 
 build: 
 	go build -v \
-	         -ldflags "-X $(CONFIG).Buildtime=$(BUILDDATE) \
-	                   -X $(CONFIG).Buildhash=$(BUILDCOMMIT) \
-			   -X $(CONFIG).Version=$(BUILDVERSION) \
-	                   -s \
-                       -w" \
+	         -ldflags "$(GO_LDFLAGS)" \
 					--trimpath \
 					$(BUILDOUT) \
 					./cmd/koralmapper/
@@ -43,4 +44,8 @@
 	go test -fuzz=FuzzParseCfgParam -fuzztime=1m ./cmd/koralmapper
 
 docker:
-	docker build -f Dockerfile -t korap/koral-mapper:latest .
+	docker build -f Dockerfile -t korap/koral-mapper:latest \
+		--build-arg BUILDDATE="$(BUILDDATE)" \
+		--build-arg BUILDCOMMIT="$(BUILDCOMMIT)" \
+		--build-arg BUILDVERSION="$(BUILDVERSION)" \
+		.