diff --git a/server/Makefile b/server/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..29794de2104b742c1cf960ee6154ff4db26ac847
--- /dev/null
+++ b/server/Makefile
@@ -0,0 +1,22 @@
+CURRENT_DATE=$(shell eval "date -u +'%Y-%m-%d at %H:%M:%S'")
+GIT_COMMIT=$(shell eval "git rev-parse HEAD")
+BUILD_FLAGS=-ldflags="-X 'gitedu.hesge.ch/flg_projects/nexus_vdi/nexus/server/buildversion.buildDate=$(CURRENT_DATE)' -X 'gitedu.hesge.ch/flg_projects/nexus_vdi/nexus/server/buildversion.gitCommit=$(GIT_COMMIT)'"
+BUILD_DIR=build
+SERVER_BINARY=nexus-server
+
+help:
+	@echo "Available targets:"
+	@echo "  build      Build nexus-server binaries"
+	@echo "  clean      Delete nexus-server binaries"
+
+$(BUILD_DIR):
+	@mkdir -p $@
+	@echo "[Building nexus-server]"
+	@go build $(BUILD_FLAGS) -o $(BUILD_DIR)/$(SERVER_BINARY)
+	@echo "OK"
+
+clean:
+	@/bin/rm -rf $(BUILD_DIR)
+	@echo "OK"
+
+.PHONY: clean
diff --git a/server/buildversion/version.go b/server/buildversion/version.go
new file mode 100644
index 0000000000000000000000000000000000000000..f23cfbe7bbcac10d7a4f2d1e056bb0d07f1c3e4a
--- /dev/null
+++ b/server/buildversion/version.go
@@ -0,0 +1,15 @@
+package buildversion
+
+var (
+	// These variables are replaced by ldflags at build time
+	gitCommit = "n/a"
+	buildDate = "n/a"
+)
+
+func GitCommit() string {
+	return gitCommit
+}
+
+func BuildDate() string {
+	return buildDate
+}
diff --git a/server/config/config.go b/server/config/config.go
index 092d92786f77042b6487b3b04c936d286a08bfdb..68e6d8487de5be6519e2c440c18e495a4e58983f 100644
--- a/server/config/config.go
+++ b/server/config/config.go
@@ -7,11 +7,9 @@ import (
 	"strings"
 	"sync"
 
+	"gitedu.hesge.ch/flg_projects/nexus_vdi/nexus/server/buildversion"
 	"gitedu.hesge.ch/flg_projects/nexus_vdi/nexus/server/logger"
 	"gitedu.hesge.ch/flg_projects/nexus_vdi/nexus/server/version"
-
-	"gitedu.hesge.ch/flg_projects/nexus_vdi/nexus/common/buildversion"
-
 	"github.com/sirupsen/logrus"
 	"gopkg.in/ini.v1"
 )