mirror of
https://github.com/Noratrieb/dockerolat.git
synced 2026-01-14 09:55:03 +01:00
do things
This commit is contained in:
parent
f43abee05c
commit
7166133801
7 changed files with 136 additions and 0 deletions
56
Dockerfile
56
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" ]
|
||||
|
|
@ -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
12
ROOT.xml
Normal 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
26
docker-compose.yaml
Normal 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
9
entrypoint.sh
Executable 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
9
server.xml
Normal 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
17
setenv.sh
Normal 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=. \
|
||||
"
|
||||
Loading…
Add table
Add a link
Reference in a new issue