do things

This commit is contained in:
nora 2023-09-05 16:20:55 +02:00
parent f43abee05c
commit 7166133801
7 changed files with 136 additions and 0 deletions

View file

@ -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" ]

View file

@ -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`

12
ROOT.xml Normal file
View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Context path="" docBase="/home/openolat/webapp" debug="0" reloadable="false" allowLinking="true">
<Resource name="jdbc/openolatDS" auth="Container" type="javax.sql.DataSource"
maxTotal="16" maxIdle="4" maxWaitMillis="60000"
username="oodbu" password="__PASSWORD__"
driverClassName="org.postgresql.Driver"
validationQuery="SELECT 1"
validationQueryTimeout="-1"
testOnBorrow="true"
testOnReturn="false"
url="__DB_URL__"/>
</Context>

26
docker-compose.yaml Normal file
View file

@ -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:

9
entrypoint.sh Executable file
View file

@ -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

9
server.xml Normal file
View file

@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<Server port="8085" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8088" protocol="HTTP/1.1" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" />
</Engine>
</Service>
</Server>

17
setenv.sh Normal file
View file

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