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=. \
+"