Skip to content

Commit

Permalink
v2.14.0 (#149)
Browse files Browse the repository at this point in the history
* pg_dump: schedule crons on a random basis. Keep dumps for 5 hours (default)

* remove cron entries for db_dump in docker-compose.yml

* less jobs during night times and keep the last 10 dumps

* Setup documents directory and corresponding docker volume

Related to SORMAS-Foundation/SORMAS-Project#2328

* release 2.13.1

* ADD timeouts  Payara-Server für transactions auf 0

* added vim to containers and prepared release 2.13.2

* sormas: updated properties for symptom journal and patient diary (#143)

* Release 2.14.0

* Update .env

* Create docker-compose-sb.yml

* Release 2.14.0-rc2

* v2.14.0 (#148)

* Enable log_min_duration_statement and set to 5 sec

* Set documents logging level to ERROR

* Change document log level to WARN

* Add missing PIA envs to sormas service

* Don't  using duplicated envs

* Release 2.14.0

Co-authored-by: akm <[email protected]>

Co-authored-by: Tom Hutter <[email protected]>
Co-authored-by: Thomas Broyer <[email protected]>
Co-authored-by: Adrian <[email protected]>
Co-authored-by: Adrian Sorge <[email protected]>
Co-authored-by: robbmue <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: akm <[email protected]>
  • Loading branch information
8 people authored Dec 14, 2020
1 parent 4ef9677 commit 35213e1
Show file tree
Hide file tree
Showing 10 changed files with 171 additions and 10 deletions.
4 changes: 2 additions & 2 deletions .env
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
SORMAS_POSTGRES_PASSWORD=password

SORMAS_POSTGRES_USER=sormas_user
SORMAS_DOCKER_VERSION=2.13.1
SORMAS_VERSION=1.51.1
SORMAS_DOCKER_VERSION=2.14.0
SORMAS_VERSION=1.52.1
SORMAS_SERVER_URL=sormas-docker-test.com
SORMAS_URL=https://github.com/hzi-braunschweig/SORMAS-Project/releases/download/

Expand Down
2 changes: 1 addition & 1 deletion apache2/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM httpd:2.4-alpine
ARG SORMAS_SERVER_URL

ARG SORMAS_VERSION=1.51.1
ARG SORMAS_VERSION=1.52.1
ENV SORMAS_VERSION=$SORMAS_VERSION
ARG SORMAS_URL=https://github.com/hzi-braunschweig/SORMAS-Project/releases/download/

Expand Down
142 changes: 142 additions & 0 deletions docker-compose-sb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
version: '2.3'

networks:
sormas:
name: sormas

services:
sormas:
restart: unless-stopped
labels:
- autoheal=true
# override for stop timeout seconds during restart
- autoheal.stop.timeout=30
links:
- postgres
image: hzibraunschweig/sormas-application:${SORMAS_DOCKER_VERSION}
environment:
- SORMAS_POSTGRES_USER=${SORMAS_POSTGRES_USER}
- SORMAS_POSTGRES_PASSWORD=${SORMAS_POSTGRES_PASSWORD}
- SORMAS_SERVER_URL=${SORMAS_SERVER_URL}
- DB_HOST=${DB_HOST}
- DOMAIN_NAME=${DOMAIN_NAME}
- DB_JDBC_MAXPOOLSIZE=${DB_JDBC_MAXPOOLSIZE}
- DB_NAME=${DB_NAME}
- DB_NAME_AUDIT=${DB_NAME_AUDIT}
- MAIL_HOST=${MAIL_HOST}
- MAIL_FROM=${MAIL_FROM}
- SORMAS_VERSION=${SORMAS_VERSION}
- LOCALE=${LOCALE}
- EPIDPREFIX=${EPIDPREFIX}
- SEPARATOR=${SEPARATOR}
- EMAIL_SENDER_ADDRESS=${EMAIL_SENDER_ADDRESS}
- EMAIL_SENDER_NAME=${EMAIL_SENDER_NAME}
- LATITUDE=${LATITUDE}
- LONGITUDE=${LONGITUDE}
- MAP_ZOOM=${MAP_ZOOM}
- TZ=${TZ}
- JVM_MAX=${APPSERVER_JVM_MAX}
- GEO_UUID=${GEO_UUID}
- DEVMODE=${DEVMODE}
- JSON_LOGGING=${JSON_LOGGING}
- CUSTOMBRANDING_ENABLED=${CUSTOMBRANDING_ENABLED}
- CUSTOMBRANDING_NAME=${CUSTOMBRANDING_NAME}
- CUSTOMBRANDING_LOGO_PATH=${CUSTOMBRANDING_LOGO_PATH}
- CUSTOMBRANDING_USE_LOGINSIDEBAR=${CUSTOMBRANDING_USE_LOGINSIDEBAR}
- CUSTOMBRANDING_LOGINBACKGROUND_PATH=${CUSTOMBRANDING_LOGINBACKGROUND_PATH}
- GEO_TEMPLATE=${GEO_TEMPLATE}
- GEO_LONG_TEMPLATE=${GEO_LONG_TEMPLATE}
- GEO_LAT_TEMPLATE=${GEO_LAT_TEMPLATE}
- CASEARCHIVEDAYS=${CASEARCHIVEDAYS}
- EVENTARCHIVEDAYS=${EVENTARCHIVEDAYS}
- PIA_URL=${PIA_URL}
- SJ_URL=https://${PIA_URL}/user/connectSormas
- SJ_AUTH=https://${PIA_URL}/user/requestToken
- SJ_CLIENTID=${SJ_CLIENTID}
- SJ_SECRET=${SJ_SECRET}
volumes:
- ${SORMAS_PATH}/documents:/opt/sormas/documents
- ${SORMAS_PATH}/custom:/opt/sormas/custom
- ${SORMAS_PATH}/sormas2sormas:/opt/sormas/sormas2sormas
- ${SORMAS_PATH}/sormas-logs:/opt/domains/sormas/logs
mem_limit: ${APPSERVER_MEM}
mem_reservation: ${APPSERVER_MEM_RESERVED}
healthcheck:
test: ["CMD", "curl", "-f", "-I", "http://localhost:6080/sormas-ui/login"]
interval: 30s
timeout: 7s
retries: 3
start_period: 300s
depends_on:
postgres:
condition: service_healthy
networks:
sormas:

postgres:
restart: unless-stopped
labels:
- autoheal=true
command: -c 'config_file=/etc/postgresql/postgresql.conf'
image: hzibraunschweig/sormas-postgres:${SORMAS_DOCKER_VERSION}
environment:
- POSTGRES_PASSWORD=${SORMAS_POSTGRES_PASSWORD}
- DB_NAME=sormas
- DB_NAME_AUDIT=sormas_audit
- SORMAS_POSTGRES_PASSWORD=${SORMAS_POSTGRES_PASSWORD}
- SORMAS_POSTGRES_USER=${SORMAS_POSTGRES_USER}
- TZ=${TZ}
volumes:
- ${SORMAS_PATH}/psqldata:/var/lib/postgresql/data
ports:
- "5432:5432"
mem_limit: ${DB_MEM}
mem_reservation: ${DB_MEM_RESERVED}
healthcheck:
test: ["CMD", "psql", "-U", "${SORMAS_POSTGRES_USER}", "-c", "SELECT 1;", "${DB_NAME}"]
interval: 30s
timeout: 3s
retries: 3
start_period: 30s
networks:
sormas:

pg_dump:
restart: unless-stopped
image: hzibraunschweig/sormas-pg-dump:${SORMAS_DOCKER_VERSION}
environment:
- DB_HOST=${DB_HOST}
- DB_NAME=sormas
- DB_NAME_AUDIT=sormas_audit
- PGPASSWORD=${SORMAS_POSTGRES_PASSWORD}
- SORMAS_POSTGRES_USER=${SORMAS_POSTGRES_USER}
- TZ=${TZ}
volumes:
- /backup:/var/opt/db_dumps
cpus: ${DB_DUMP_CPUS}
mem_limit: ${DB_DUMP_MEM}
mem_reservation: ${DB_DUMP_MEM_RESERVED}
depends_on:
postgres:
condition: service_healthy
networks:
sormas:

autoheal:
restart: unless-stopped
image: willfarrell/autoheal
environment:
# watch all running containers.
- AUTOHEAL_CONTAINER_LABEL=all
# check every 10 seconds
- AUTOHEAL_INTERVAL=10
# wait 0 seconds before first health check
- AUTOHEAL_START_PERIOD=0
# Docker waits max 10 seconds (the Docker default) for a container to stop before killing
- AUTOHEAL_DEFAULT_STOP_TIMEOUT=10
# Unix socket for curl requests to Docker API
- DOCKER_SOCK=/var/run/docker.sock
# --max-time seconds for curl requests to Docker API
- CURL_TIMEOUT=30
volumes:
- /var/run/docker.sock:/var/run/docker.sock
2 changes: 1 addition & 1 deletion letsencrypt/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM lsiobase/nginx:3.11

ARG CERTBOT_VERSION=1.3.0
ARG SORMAS_URL=https://github.com/hzi-braunschweig/SORMAS-Project/releases/download/
ARG SORMAS_VERSION=1.51.1
ARG SORMAS_VERSION=1.52.1
ENV SORMAS_VERSION=$SORMAS_VERSION
LABEL maintainer="aptalca"

Expand Down
2 changes: 1 addition & 1 deletion payara/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-mark hold zulu-8 \
&& apt-get upgrade -y \
&& apt-get -y install wget unzip postgresql curl --no-install-recommends\
&& apt-get -y install wget unzip postgresql vim curl --no-install-recommends\
&& apt-get clean

RUN wget --no-check-certificate -O /tmp/payara-5.192.zip "https://search.maven.org/remotecontent?filepath=fish/payara/distributions/payara/5.192/payara-5.192.zip" \
Expand Down
2 changes: 1 addition & 1 deletion payara/Dockerfile-jdk11
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM azul/zulu-openjdk:11
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get -y install wget unzip postgresql curl --no-install-recommends\
&& apt-get -y install wget unzip postgresql vim curl --no-install-recommends\
&& apt-get clean

RUN wget --no-check-certificate -O /tmp/payara-5.2020.2.zip "https://search.maven.org/remotecontent?filepath=fish/payara/distributions/payara/5.2020.2/payara-5.2020.2.zip" \
Expand Down
2 changes: 1 addition & 1 deletion postgres/psql.conf
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ effective_cache_size = 1536MB
# fatal
# panic (effectively off)

#log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
log_min_duration_statement = 5000 # -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this number
# of milliseconds
Expand Down
2 changes: 1 addition & 1 deletion sormas/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ARG MAIL_FROM=sormas@localhost
ARG JVM_MAX=4096m
ARG SORMAS_URL=https://github.com/hzi-braunschweig/SORMAS-Project/releases/download/
EXPOSE 6080
ARG SORMAS_VERSION=1.51.1
ARG SORMAS_VERSION=1.52.1
ENV SORMAS_VERSION=$SORMAS_VERSION

ENV MAIL_FROM=root@localhost
Expand Down
6 changes: 6 additions & 0 deletions sormas/setup-server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ cp ${DEPLOY_PATH}/deploy/apps/*.war ${DOMAIN_DIR}/deployments/
cp ${DEPLOY_PATH}/deploy/s2s-generate-cert.sh /opt/sormas/sormas2sormas
cp ${DEPLOY_PATH}/deploy/s2s-import-to-truststore.sh /opt/sormas/sormas2sormas

#Der String "300" tritt ausschließlich an Stellen auf an denen die (txn-)Timeouts definiert werden. Diese werden auf "0" gesetzt um die Timeouts zu deaktivieren
echo "Configure payara timeouts ..."
sed -i 's/"300"/"0"/g' ${DOMAIN_DIR}/config/domain.xml
echo "Set logging fo documents to WARNING level"
sed -i '/^<\/configuration>/i <\/root>\n<logger name="fr.opensagres.xdocreport" level="WARN" \/>' ${DOMAIN_DIR}/config/logback.xml


${PAYARA_HOME}/bin/asadmin stop-domain --domaindir ${DOMAINS_HOME}

Expand Down
17 changes: 15 additions & 2 deletions sormas/start-server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,13 @@ echo "Configuring domain and database connection..."
${ASADMIN} delete-jvm-options -Xmx4096m
${ASADMIN} create-jvm-options -Xmx${JVM_MAX}

# Proxy settings
if [ ! -z "$PROXY_HOST" ];then
echo "Updating Proxy Settings"
${ASADMIN} create-system-properties --target server-config org.jboss.resteasy.jaxrs.client.proxy.host=${PROXY_HOST}
${ASADMIN} create-system-properties --target server-config org.jboss.resteasy.jaxrs.client.proxy.port=${PROXY_PORT}
${ASADMIN} create-system-properties --target server-config org.jboss.resteasy.jaxrs.client.proxy.scheme=${PROXY_SCHEME}
fi
# JDBC pool
delete_jdbc_connection_pool "jdbc/${DOMAIN_NAME}DataPool" "${DOMAIN_NAME}DataPool"
${ASADMIN} create-jdbc-connection-pool --restype javax.sql.ConnectionPoolDataSource --datasourceclassname org.postgresql.ds.PGConnectionPoolDataSource --isconnectvalidatereq true --validationmethod custom-validation --validationclassname org.glassfish.api.jdbc.validation.PostgresConnectionValidation --maxpoolsize ${DB_JDBC_MAXPOOLSIZE} --property "portNumber=5432:databaseName=${DB_NAME}:serverName=${DB_HOST}:user=${SORMAS_POSTGRES_USER}:password=${SORMAS_POSTGRES_PASSWORD}" ${DOMAIN_NAME}DataPool
Expand Down Expand Up @@ -170,22 +177,28 @@ echo -e "\ninterface.symptomjournal.url = ${SJ_URL}" >>${DOMAIN_DIR}/sormas.prop
echo "interface.symptomjournal.authurl = ${SJ_AUTH}" >>${DOMAIN_DIR}/sormas.properties
echo "interface.symptomjournal.clientid = ${SJ_CLIENTID}" >>${DOMAIN_DIR}/sormas.properties
echo "interface.symptomjournal.secret = ${SJ_SECRET}" >>${DOMAIN_DIR}/sormas.properties
echo "interface.symptomjournal.defaultuser.username = ${SJ_DEFAULT_USERNAME}" >>${DOMAIN_DIR}/sormas.properties
echo "interface.symptomjournal.defaultuser.password = ${SJ_DEFAULT_PASSWORD}" >>${DOMAIN_DIR}/sormas.properties
fi


#------------------CLIMEDO CONFIG
sed -i "/^interface\.patientdiary\.url/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.externaldataurl/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.probandsurl/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.authurl/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.email/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.password/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.defaultuser\.username/d" "${DOMAIN_DIR}/sormas.properties"
sed -i "/^interface\.patientdiary\.defaultuser\.password/d" "${DOMAIN_DIR}/sormas.properties"

if [ ! -z "$PATIENTDIARY_ENABLED" ];then
echo -e "\ninterface.patientdiary.url=${PD_URL}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.externaldataurl=${PD_EXTERNAL_DATA_URL}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.probandsurl=${PD_PROBANDS_URL}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.authurl=${PD_AUTH_URL}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.email=${PD_EMAIL}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.password=${PD_PASSWORD}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.defaultuser.username=${PD_DEFAULT_USERNAME}" >>${DOMAIN_DIR}/sormas.properties
echo -e "\ninterface.patientdiary.defaultuser.password=${PD_DEFAULT_PASSWORD}" >>${DOMAIN_DIR}/sormas.properties
fi


Expand Down

0 comments on commit 35213e1

Please sign in to comment.