summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/pkg/docker/dozmod-server_dockerfile
blob: cb37279370d961e8623f887be1c21af4b5f949c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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" ]