From 7166133801869de2758de8f6fc91e7cee6f96b43 Mon Sep 17 00:00:00 2001 From: nils <48135649+Nilstrieb@users.noreply.github.com> Date: Tue, 5 Sep 2023 16:20:55 +0200 Subject: [PATCH] do things --- Dockerfile | 56 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 7 ++++++ ROOT.xml | 12 ++++++++++ docker-compose.yaml | 26 +++++++++++++++++++++ entrypoint.sh | 9 ++++++++ server.xml | 9 ++++++++ setenv.sh | 17 ++++++++++++++ 7 files changed, 136 insertions(+) create mode 100644 ROOT.xml create mode 100644 docker-compose.yaml create mode 100755 entrypoint.sh create mode 100644 server.xml create mode 100644 setenv.sh diff --git a/Dockerfile b/Dockerfile index e69de29..5cfac89 100644 --- a/Dockerfile +++ b/Dockerfile @@ -0,0 +1,56 @@ +FROM ubuntu:22.04 + +RUN apt-get update +RUN apt-get install -y curl unzip + +RUN useradd -m -s /bin/bash openolat + +WORKDIR /home/openolat + +USER openolat + +RUN curl -O https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.13/bin/apache-tomcat-10.1.13.tar.gz --output-dir ./downloads --create-dirs \ + && tar -xzf ./downloads/apache-tomcat-10.1.13.tar.gz \ + && ln -s apache-tomcat-10.1.13 tomcat \ + && rm -r ./downloads + +RUN curl -OL https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jre_x64_linux_hotspot_17.0.8.1_1.tar.gz --output-dir ./downloads --create-dirs \ + && tar -xzf ./downloads/OpenJDK17U-jre_x64_linux_hotspot_17.0.8.1_1.tar.gz \ + && ln -s jdk-17.0.8.1+1-jre jre \ + && rm -r ./downloads + +RUN curl -O https://www.openolat.com/releases/openolat_17214.war --output-dir ./downloads --create-dirs \ + && unzip -d openolat-17.2.14 ./downloads/openolat_17214.war \ + && ln -s openolat-17.2.14 webapp \ + && rm -r ./downloads + +RUN mkdir bin conf lib run logs + +WORKDIR /home/openolat/conf +RUN ln -s ../tomcat/conf/web.xml web.xml + +WORKDIR /home/openolat/bin +RUN ln -s ../tomcat/bin/catalina.sh catalina.sh + +WORKDIR /home/openolat +RUN ln -s tomcat/bin/startup.sh start +RUN ln -s tomcat/bin/shutdown.sh stop + +COPY ./setenv.sh ./bin/setenv.sh +COPY ./server.xml ./conf/server.xml + +ENV CATALINA_BASE /home/openolat +ENV CATALINA_HOME /home/openolat/tomcat +ENV JRE_HOME /home/openolat/jre + +ENV DB_PASSWORD default +ENV DB_URL jdbc:postgresql://localhost:5432/oodb + +RUN mkdir -p /home/openolat/conf/Catalina/localhost/ +COPY ./ROOT.xml /home/openolat/conf/Catalina/localhost/ROOT.xml + +COPY ./entrypoint.sh /home/openolat/entrypoint.sh + +EXPOSE 8088 + +CMD [ "bash", "-c", "/home/openolat/entrypoint.sh" ] diff --git a/README.md b/README.md index 325eda9..41e6f8b 100644 --- a/README.md +++ b/README.md @@ -1 +1,8 @@ +# openolat + https://docs.openolat.org/manual_admin/installation/installGuide/ + +## env vars + +- `DB_PASSWORD`, default `default` +- `DB_URL`, default `jdbc:postgresql://localhost:5432/oodb` diff --git a/ROOT.xml b/ROOT.xml new file mode 100644 index 0000000..4557c89 --- /dev/null +++ b/ROOT.xml @@ -0,0 +1,12 @@ + + + + diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..a28fe23 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,26 @@ +version: "3.8" +services: + openolatdb: + container_name: openolatdb + image: postgres:latest + ports: + - "5432:5432" + environment: + POSTGRES_USER: oodbu + POSTGRES_PASSWORD: default + POSTGRES_DB: oodb + networks: + - olatnetwork + olat: + container_name: openolat + build: ./ + ports: + - "8088:8088" + environment: + DB_PASSWORD: default + DB_URL: "jdbc:postgresql://openolatdb:5432/oodb" + networks: + - olatnetwork + +networks: + olatnetwork: \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..7e60e54 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -euo pipefail + + +sed -i -e s/__PASSWORD__/${DB_PASSWORD}/ /home/openolat/conf/Catalina/localhost/ROOT.xml +sed -i -e s#__DB_URL__#${DB_URL}# /home/openolat/conf/Catalina/localhost/ROOT.xml + +exec /home/openolat/tomcat/bin/catalina.sh run diff --git a/server.xml b/server.xml new file mode 100644 index 0000000..eb49025 --- /dev/null +++ b/server.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/setenv.sh b/setenv.sh new file mode 100644 index 0000000..c563a9f --- /dev/null +++ b/setenv.sh @@ -0,0 +1,17 @@ +CATALINA_HOME=~/tomcat +CATALINA_BASE=~ +JRE_HOME=~/jre +CATALINA_PID=~/run/openolat.pid +CATALINA_TMPDIR=/tmp/openolat +mkdir -p $CATALINA_TMPDIR + +CATALINA_OPTS=" \ +-Xmx1024m -Xms512m -XX:MaxMetaspaceSize=512m \ +-Duser.name=openolat \ +-Duser.timezone=Europe/Zurich \ +-Dspring.profiles.active=myprofile \ +-Djava.awt.headless=true \ +-Djava.net.preferIPv4Stack=true \ +-XX:+HeapDumpOnOutOfMemoryError \ +-XX:HeapDumpPath=. \ +"