summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/pkg/docker/dozmod-server_dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/pkg/docker/dozmod-server_dockerfile')
-rw-r--r--dozentenmodulserver/pkg/docker/dozmod-server_dockerfile43
1 files changed, 43 insertions, 0 deletions
diff --git a/dozentenmodulserver/pkg/docker/dozmod-server_dockerfile b/dozentenmodulserver/pkg/docker/dozmod-server_dockerfile
new file mode 100644
index 00000000..cb372793
--- /dev/null
+++ b/dozentenmodulserver/pkg/docker/dozmod-server_dockerfile
@@ -0,0 +1,43 @@
+FROM ubuntu:focal
+
+ARG DOZMOD_SERVER_FILE
+ARG DOZMOD_CONFIG_FILE
+ARG DOZMOD_MASTER_SERVER=localhost
+ARG DOZMOD_SERVER_PATH=/opt/bwLehrpool
+ARG DOZMOD_VSTORE_PATH=/mnt/bwLehrpool
+ARG DOZMOD_DATABASE_NAME=dozmod
+ARG DOZMOD_DATABASE_HOST=localhost
+ARG DOZMOD_DATABASE_USER=dozmod
+ARG DOZMOD_DATABASE_PASSWORD=dozmod
+
+# install required packages
+RUN apt-get update -y && \
+ apt-get install -y openjdk-8-jre-headless
+
+# make folder for dozmod Java server application and VMs
+RUN mkdir -p ${DOZMOD_SERVER_PATH}
+RUN mkdir -p ${DOZMOD_VSTORE_PATH}
+
+# change working directory
+WORKDIR ${DOZMOD_SERVER_PATH}
+
+# copy application and configuration file
+COPY ${DOZMOD_SERVER_FILE} dozmod-server.jar
+
+# customize configuration
+RUN echo "#" \
+ "\n""# Autogenerated configuration. Do not edit!" \
+ "\n""#" \
+ "\n""vmstore.path = ${DOZMOD_VSTORE_PATH}" \
+ "\n""db.uri = jdbc:mysql://${DOZMOD_DATABASE_HOST}/${DOZMOD_DATABASE_NAME}?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci" \
+ "\n""db.username = ${DOZMOD_DATABASE_USER}" \
+ "\n""db.password = ${DOZMOD_DATABASE_PASSWORD}" \
+ "\n""db.location-table = " \
+ "\n""master.address = ${DOZMOD_MASTER_SERVER}" > config.properties && \
+ sed -i 's/[[:space:]]\+$//' config.properties
+
+# expose network ports
+EXPOSE 9080 9090 9091
+
+# run the dozmod-server
+CMD [ "java", "-jar", "dozmod-server.jar" ]