Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • commul/docker/clarin-dspace
1 result
Show changes
Commits on Source (114)
Showing
with 391 additions and 7193 deletions
...@@ -10,3 +10,5 @@ kubernetes/test-postgres-deployment.yaml ...@@ -10,3 +10,5 @@ kubernetes/test-postgres-deployment.yaml
kubernetes/secrets* kubernetes/secrets*
clarin-dev_eurac_edu.key clarin-dev_eurac_edu.key
clarin_eurac_edu.key clarin_eurac_edu.key
**/.release
backup/
...@@ -6,11 +6,76 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ...@@ -6,11 +6,76 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
### Added
### Changed
- Bump DSPACE_APP_VERSION
### Removed
### Fixed
- [nginx] `easy_install supervisor` fails
## [1.4.0] - 2021-01
### Added ### Added
- Use dspace-app image from gitlab.inf.unibz.it:4567/commul/docker/clarin-dspace/dspace-app/
- Test set-up for #59
- Debug output for cron-hack in `entrypoint.sh`
- CephFS backend for clarin-dspace:{dspace,tomcat,shibboleth}:log
### Changed ### Changed
- DEPLOYMENT.md
- set `lr.reserve.pid.on.start = true` to show users the handle of the finished submission
- Use dsapce-app image 2020.02.1:1.1
- Rm apt cache after apt-get update+install
- Rebuild Postgres image with latest 9.6
- Avoid tomcat start/kill/restart-cycle at startup
### Removed ### Removed
- Use of https://github.com/ufal/lindat-aai-discovery
### Fixed ### Fixed
- #60
- Changed branch names during git clone/checkout
- [Open redirect vulnerability](https://wiki.shibboleth.net/confluence/display/SP3/Sessions)
## [1.3.5] - 2020-01-22
### Added
- org.label-schema LABELs for version, build-date, vcs-url in docker images
- explicit CATALINA_PID path
- build and install Apache Tomcat Native Library
### Changed
- bump tomcat to latest 8.0 (=8.0.53) version
- increase java memory settings for tomcat (just-in-case)
- use regular catalina.sh start/stop/run commands (which in turn considers setenv.sh)
- ContacPerson(s) in SP definition
### Removed
- own catalina.sh (use dist versions)
- tomcat8 init.d script (wasn't used)
### Fixed
- (automatic redirects to) https://clarin.eurac.edu:8443/... not working
## [1.3.4] - 2019-10-14
### Changed
- use kube-lego for TLS certs for clarin(-dev).eurac.edu
- disable k8s-internal secure TLS communication: getting rid of the necessity
to (re-)create valid/self-signed certs
Note: using HTTP over port 443 for internal communication (Shibboleth mishap)
- add IdP metadata from CLARIN server later in docker build build
- Some changes to the liveness probe / "cronjobs" (see #60)
### Fixed
- #62
## [1.3.3] - 2019-07-23 ## [1.3.3] - 2019-07-23
...@@ -18,6 +83,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -18,6 +83,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- adapted healthcheck "cronjob" to force exit in case it hangs for some reason (#60) - adapted healthcheck "cronjob" to force exit in case it hangs for some reason (#60)
## [1.3.2] - 2019-06-27 ## [1.3.2] - 2019-06-27
### Added ### Added
...@@ -38,6 +104,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -38,6 +104,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- fixed get URL for xerces - fixed get URL for xerces
- IdP metadata from CLARIN are now downloaded during Docker build and not only once the container is running - IdP metadata from CLARIN are now downloaded during Docker build and not only once the container is running
## [1.3] - 2018-09-05 ## [1.3] - 2018-09-05
### Added ### Added
...@@ -54,12 +121,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -54,12 +121,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Made sure that tomcat is stopped with `-force` in entrypoint script to ensure that only one instance is running - Made sure that tomcat is stopped with `-force` in entrypoint script to ensure that only one instance is running
## [1.2.2] - 2018-08-31 ## [1.2.2] - 2018-08-31
### Fixed ### Fixed
- Changed the DSpace config to use the production handle prefix and not the staging one - Changed the DSpace config to use the production handle prefix and not the staging one
## [1.2] - 2018-08-27 ## [1.2] - 2018-08-27
### Added ### Added
...@@ -84,6 +153,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -84,6 +153,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Shibboleth build script now uses fixed version numbers instead of latest - Shibboleth build script now uses fixed version numbers instead of latest
- Super short session timeout will no longer happen (#44) - Super short session timeout will no longer happen (#44)
## [1.1] - 2018-06-15 ## [1.1] - 2018-06-15
### Added ### Added
...@@ -105,7 +175,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -105,7 +175,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
This is the first release. It all starts here. This is the first release. It all starts here.
[Unreleased]:https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.3...HEAD [Unreleased]:https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.4.0...HEAD
[1.4.0]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.5...v1.4.0
[1.3.5]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.4...v1.3.5
[1.3.4]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.3...v1.3.4
[1.3.3]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.2...v1.3.3 [1.3.3]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.2...v1.3.3
[1.3.2]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.1...v1.3.2 [1.3.2]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3.1...v1.3.2
[1.3.1]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3...v1.3.1 [1.3.1]: https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/compare/v1.3...v1.3.1
......
# Step by Step deployment guide # Step by Step deployment guide
- [ ] Edit CHANGELOG.md and add a new section for the upcoming release - Development
- [ ] Commit to master to make sure that the master branch is clean and all commits are pushed to origin - Edit CHANGELOG.md
- [ ] `git checkout stable` - [ ] Rename [Unreleased] to [$VERSION]
- [ ] `git merge --no-ff master` - [ ] Reintroduce [Unreleased]
- [ ] (Optional) You can now deploy stable to dspace-dev (`./release.sh $VERSION_NUMBER-RC-$RCNUMBER`) - [ ] Fix [Unreleased] and add [$VERSION] named link at the end of CHANGELOG.md
- [ ] Make sure that the stable branch is clean and all commits are pushed to origin
- [ ] `git checkout production` - [ ] (Optional) Bump versions of
- [ ] `git checkout -b v$VERSION_NUMBER $HASHID -- .` - clarin-dspace-app: `DSPACE_APP_VERSION` in docker/clarin-dspace/dockerfiles/Earthfile
The $HASHID being the commit were the last merge from stable happened (before clarindev2clarin.sh changes were committed) - lindat-common: settings in docker/clarin-dspace/dockerfiles/commul-customization/variable.makefile
- [ ] `git merge --no-ff stable`
- [ ] resolve conflicts (though there shouldn't be any) and commit - Commit to master to make sure that the master branch is clean and all
- [ ] Change the version number and the registry branch of the images in all deployment yaml files commits are pushed to origin
- [ ] Run the clarindev2clarin.sh script - [ ] `git commit -m"Bump version to $VERSION"`
- [ ] `git commit -a ` - [ ] `git tag X.Y.Z-rcR`
- [ ] `git checkout production` - [ ] `./release.sh`
- [ ] `git merge v1.3-$VERSION_NUMBER` - [ ] # Use the `sed` command at the end to adapt the k8s files
- [ ] resolve conflicts and commit # ./start- ... ./stop- or kubectl edit
- [ ] `git tag -a $VERSION_NUMBER -s (-u $GPG_ID_HASH)` defaults to your default GPG key
- [ ] `git branch -d $VERSION_NUMBER` - Prepare a release
- [ ] `git push --all` - Make a copy of DEPLOYMENT.md
- [ ] `git push --tags` - [ ] cp DEPLOYMENT.md DEPLOYMENT-$VERSION.md
- [ ] `cd dockerfiles`
- [ ] `./release.sh $VERSION_NUMBER production` - [ ] Check versions are non-rc candidates:
- [ ] `cd ../kubernetes` - clarin-dspace-app: `DSPACE_APP_VERSION` in docker/clarin-dspace/dockerfiles/Earthfile
- [ ] `./stop_kube.sh` - lindat-common: settings in docker/clarin-dspace/dockerfiles/commul-customization/variable.makefile
- [ ] `./start_kube.sh`
- [ ] `git checkout master` - [ ] Check CHANGELOG.md has up-to-date edits
- Check that the master branch is clean and all commits are pushed to origin
- [ ] git status
- [ ] git push
- Merge changes into stable
- [ ] git checkout stable
- [ ] git merge --no-ff master
- [ ] (Optional) You can now deploy stable to dspace-dev
This depends on your workflow, for example, you man have already tested
from master. In any case, `./release.sh` picks up the tag from `git tag`,
i.e. *before* every `./release.sh` there should be a `git tag`.
During testing this `tag` should always be of type `X.Y.Z.-rcR`.
```
./release.sh
# Use the `sed` command at the end to adapt the k8s files
# ./start- ... ./stop- or kubectl edit
```
- Check that the stable branch is clean and all commits are pushed to origin
- [ ] git status
- [ ] git push
- Create a new version branch for this release
- [ ] git checkout -b ver-$VERSION
- Adapt clarin-dev and dspace-dev & commit changes, tag version, make a
release, and push changes
- [ ] ./clarindev2clarin.sh
- [ ] git commit -m"Add clarindev2clarin.sh changes"
- [ ] git tag -a $VERSION -s (-u $GPG_ID_HASH)
"
Tag version $VERSION
Copy&Paste relevant CHANGELOG.md
"
- [ ] Make sure to remove '#' for 'TITLE lines' from commit message
(otherwise, they will be ignored)
- [ ] ./release.sh
- [ ] # Use the `sed` command at the end to adapt the k8s files
- [ ] git commit -m"Bump version to $VERSION"
- [ ] git push origin ver-$VERSION
- Merge ver-$VERSION into production
- [ ] git checkout production
- [ ] git merge --strategy-option=theirs --squash ver-$VERSION
"
Squashing commits of branch 'v$VERSION' into production
Commits
...
"
- [ ] git push origin production
- [ ] git push --tags
- Deploy production to --namespace=dspace and go back to master
- [ ] cd ../kubernetes
- [ ] ./stop_kube.sh
- [ ] ./start_kube.sh
- [ ] git checkout master
#!/bin/bash #!/bin/bash
# outside the docker # config files
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/shibboleth2.xml perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/nginx/shibboleth2.xml
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/local.properties perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/local.properties
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/default-ssl perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/nginx/nginx.default.conf
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/nginx/Dockerfile
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/aai.js perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/nginx/aa-statistics.php
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/aai_config.js perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/nginx/clarin.eurac.edu.template.metadata.xml
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/aa-statistics.php perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/nginx/html/index.html
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/clarin.eurac.edu.template.metadata.xml
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/commul-customization/webpage/index.html
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/Dockerfile.nginx
# adapt URL and prefix for handle server # healthcheck id
sed -i 's/24a81cdc-2906-4faa-89b3-0d57541abef6/0e116e4c-39b4-46e8-a0f1-20bf952b4c7b/' dockerfiles/commul-customization/entrypoint.sh
# URL and prefix for handle server
perl -pi -e 's/20.500.12084/20.500.12124/g' dockerfiles/commul-customization/config.dct perl -pi -e 's/20.500.12084/20.500.12124/g' dockerfiles/commul-customization/config.dct
perl -pi -e 's/20.500.12084/20.500.12124/g' dockerfiles/commul-customization/local.properties perl -pi -e 's/20.500.12084/20.500.12124/g' dockerfiles/commul-customization/local.properties
# adapt shib SP ID # hostname in docker-compose
perl -pi -e 's/_5d15d5a81bc952da1d34986ebc7713c0d5c9ea61/_5d15d5a81bc952da1d34986ebc7713c0d5c9ea91/g' dockerfiles/commul-customization/clarin.eurac.edu.template.metadata.xml
# adapt hostname in docker-compose
perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/docker-compose.yml perl -pi -e 's/clarin-dev/clarin/g' dockerfiles/docker-compose.yml
echo "Modified all files to point to clarin.eurac.edu instead of clarin-dev.eurac.edu." echo "Modified all files to point to clarin.eurac.edu instead of clarin-dev.eurac.edu."
# adapt namespace in kubernetes yaml files # namespace in kubernetes yaml files
sed -i 's/dspace-dev/dspace/' kubernetes/*.yaml sed -i 's/dspace-dev/dspace/' kubernetes/*.yaml
perl -pi -e 's/clarin-dev/clarin/g' kubernetes/{dspace-ingress,dspace-deployment,nginx-deployment}.yaml perl -pi -e 's/clarin-dev/clarin/g' kubernetes/{dspace-ingress,dspace-deployment,nginx-deployment}.yaml
echo "Modified kubernetes/ to point to --ns=dsapce instead of --ns=dsapce-dev and clarin.eurac.edu instead of clarin-dev.eurac.edu."
Lindat Production workflow
nach Schritt './password_mod.sh'
./clarin-dev2clarin.sh
nach Schritt 'make new_deploy'
grep -rl clarin-dev /opt/lindat-common/public/ | xargs -i perl -pi -e 's/clarin-dev/clarin/g' {}
Dockerfile.*
release.sh
############################################################ ##############################################################################
# Dockerfile to build LINDAT Dspace container images # Dockerfile to build LINDAT Dspace container images
# Based on Ubuntu # Based on Ubuntu
############################################################ ##############################################################################
ARG DSPACE_APP_VERSION
ARG UBUNTU_VERSION=16.04
FROM ubuntu:16.04 FROM gitlab.inf.unibz.it:4567/commul/docker/clarin-dspace/dspace-app/2020.02.1:$DSPACE_APP_VERSION as dspace-app
LABEL maintainer="Alexander König <Alexander.Koenig@eurac.edu>"
# install cpanm and dependencies FROM ubuntu:$UBUNTU_VERSION
RUN apt-get update \ ARG UBUNTU_VERSION
&& apt-get -y upgrade \
&& apt-get -y install make gcc wget cpanminus LABEL author="Alexander König <Alexander.Koenig@eurac.edu>, \
Egon W. Stemle <egon.stemle@eurac.edu>"
LABEL maintainer="Egon W. Stemle <egon.stemle@eurac.edu>"
RUN cpanm -n File::Spec::Functions ENV TOMCAT_VERSION="8.0.53"
RUN cpanm Term::ReadLine ENV TOMCAT_SHA512="cd8a4e48a629a2f2bb4ce6b101ebcce41da52b506064396ec1b2915c0b0d8d82123091242f2929a649bcd8b65ecf6cd1ab9c7d90ac0e261821097ab6fbe22df9 *apache-tomcat-8.0.53.tar.gz"
# https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz.sha512
ENV TERM linux
# APT(-GET) tweaks
# Set some sane defaults for apt inside docker
ENV DEBIAN_FRONTEND=noninteractive
COPY apt.local.conf /etc/apt/apt.conf.d/99local.conf
RUN apt-get update && \
apt-get upgrade && \
rm -rf /var/lib/apt/lists/*
# install cpanm and dependencies
# install jdk, ant, psql, mvn, make, libxml, xsltproc, zip, wget # install jdk, ant, psql, mvn, make, libxml, xsltproc, zip, wget
RUN apt-get update && apt-get -y install openjdk-8-jdk ant maven libxml2-utils xsltproc unzip curl git RUN apt-get update && apt-get install \
unzip curl wget git \
make gcc \
cpanminus \
openjdk-8-jdk ant maven libxml2-utils xsltproc \
libapr1-dev && \
rm -rf /var/lib/apt/lists/*
# install convenience apps for debug purposes (vim and jsbeautifier) RUN cpanm -n File::Spec::Functions && \
RUN apt-get update && apt-get -y install vim less python-pip cpanm Term::ReadLine
RUN pip install --upgrade pip
RUN pip install jsbeautifier
COPY commul-customization/__init__.py /usr/local/lib/python2.7/dist-packages/jsbeautifier/
# set up a proper locale # set up a proper locale
RUN apt-get -y install locales RUN apt-get update && apt-get install locales && rm -rf /var/lib/apt/lists/*
RUN locale-gen en_US.UTF-8 RUN locale-gen en_US.UTF-8
COPY commul-customization/default_locale /etc/default/locale COPY default_locale /etc/default/locale
RUN chmod 0755 /etc/default/locale RUN chmod 0755 /etc/default/locale
ENV LC_ALL=en_US.UTF-8 ENV LC_ALL=en_US.UTF-8
ENV LANG=en_US.UTF-8 ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8 ENV LANGUAGE=en_US.UTF-8
# build tomcat 8.0.35, version recommended by LINDAT ### Install Tomcat
RUN wget -O /tmp/apache-tomcat-8.0.52.tar.gz https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz #
RUN mkdir /opt/tomcat8 # build tomcat $TOMCAT_VERSION (> 8.0.35), version recommended by LINDAT
RUN tar xvzf /tmp/apache-tomcat-8.0.52.tar.gz -C /opt/tomcat8/ --strip-components=1 RUN wget -O /tmp/apache-tomcat-$TOMCAT_VERSION.tar.gz \
RUN groupadd tomcat8 https://archive.apache.org/dist/tomcat/tomcat-8/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz
RUN useradd -s /bin/false -g tomcat8 -d /opt/tomcat8/ tomcat8 WORKDIR /tmp
# change permissions # checksum check the download
RUN chown -R tomcat8:tomcat8 /opt/tomcat8 RUN echo "$TOMCAT_SHA512" > /tmp/apache-tomcat.sha512 && \
# copy config files etc. (init script,catalina.sh,setenv.sh,server.xml sha512sum --check apache-tomcat.sha512
COPY commul-customization/tomcat8 /etc/init.d/
RUN chmod a+x /etc/init.d/tomcat8 RUN mkdir /opt/tomcat8 && \
COPY commul-customization/catalina.sh /opt/tomcat8/bin/ tar xzf /tmp/apache-tomcat-$TOMCAT_VERSION.tar.gz \
COPY commul-customization/setenv.sh /opt/tomcat8/bin/ -C /opt/tomcat8/ \
--strip-components=1 && \
groupadd tomcat8 && \
useradd -s /bin/false -g tomcat8 -d /opt/tomcat8/ tomcat8 && \
chown -R tomcat8:tomcat8 /opt/tomcat8
# Install Apache Tomcat Native
# prerequisites: libopenssl, libapr1, jdk
RUN mkdir /opt/tomcat8/bin/tomcat-native && \
tar xzf /opt/tomcat8/bin/tomcat-native.tar.gz \
-C /opt/tomcat8/bin/tomcat-native \
--strip-components=1 && \
cd /opt/tomcat8/bin/tomcat-native/native && \
./configure \
--with-java-home=/usr/lib/jvm/java-8-openjdk-amd64/ \
--prefix=/usr/local/ && \
make && make install
# copy config files etc. (setenv.sh,server.xml)
COPY commul-customization/tomcat-setenv.sh /opt/tomcat8/bin/setenv.sh
COPY commul-customization/tomcat-server.xml /opt/tomcat8/conf/server.xml COPY commul-customization/tomcat-server.xml /opt/tomcat8/conf/server.xml
# install Dspace ### Install Dspace
# pre-fetch maven dependencies COPY --from=dspace-app /app /opt/repository/sources/dspace
RUN git clone https://github.com/commul/clarin-dspace.git -b commul-custom /opt/repository/sources/dspace
WORKDIR /opt/repository/sources/dspace
RUN mvn compile
#COPY commul-customization/dspace-pom.xml /tmp/pom.xml
#WORKDIR /tmp/
## RUN mvn dependency:resolve
#RUN mvn -B -T 4 dependency:copy-dependencies dependency:resolve-plugins dependency:go-offline clean
# all files could be copied into a /tmp folder within the container first (maybe that could be mounted?); see also dspace-entrypoint.sh
# this checks if there was a new commit since the last build
ADD https://api.github.com/repos/commul/clarin-dspace/git/refs/heads/commul-custom /tmp/version.json
RUN git pull
WORKDIR /opt/repository/sources/dspace/utilities/project_helpers WORKDIR /opt/repository/sources/dspace/utilities/project_helpers
RUN ./setup.sh /opt/repository/workspace RUN ./setup.sh /opt/repository/workspace
COPY commul-customization/variable.makefile /opt/repository/workspace/config/variable.makefile COPY commul-customization/variable.makefile /opt/repository/workspace/config/variable.makefile
# COPY commul-customization/dspace.cfg /opt/repository/sources/dspace/dspace/config/dspace.cfg
# install python modules: magic dateutil, lxml # install python modules: magic dateutil, lxml
RUN apt-get update && apt-get install -y python-magic python-dateutil python-lxml # install poppler-utils for dspace.cfg: filter.plugins = PDF Text Extractor
RUN apt-get update && apt-get install \
python-magic python-dateutil python-lxml poppler-utils && \
rm -rf /var/lib/apt/lists/*
# copy over configs and startup scripts # copy over configs and startup scripts
COPY commul-customization/start_stack.sh /opt/repository/workspace/scripts/ COPY commul-customization/start_stack.sh /opt/repository/workspace/scripts/
...@@ -86,9 +114,6 @@ RUN make new_deploy ...@@ -86,9 +114,6 @@ RUN make new_deploy
# DEBUG: to be able to access tomcat manager through browser # DEBUG: to be able to access tomcat manager through browser
# COPY commul-customization/tomcat-users.xml /opt/tomcat8/conf/ # COPY commul-customization/tomcat-users.xml /opt/tomcat8/conf/
# adapt some config files
RUN perl -pi -e 's/#useProxies = true/useProxies = true/' /opt/lindat-dspace/installation/config/dspace.cfg
RUN perl -pi -e 's# (?s).*org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe.*# (?s).*org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe.*,\\\n (?s).*user-agent=.kube-probe.*#' /opt/lindat-dspace/installation/config/modules/lr.cfg
# set up handle server # set up handle server
COPY commul-customization/hdl-setup.tmp /tmp/ COPY commul-customization/hdl-setup.tmp /tmp/
...@@ -99,6 +124,12 @@ RUN cp /opt/repository/workspace/config/etc/init.d/handle-server /etc/init.d/ ...@@ -99,6 +124,12 @@ RUN cp /opt/repository/workspace/config/etc/init.d/handle-server /etc/init.d/
RUN chmod +x /etc/init.d/handle-server RUN chmod +x /etc/init.d/handle-server
RUN perl -pi -e 's#DSPACE_INSTALLATION_DIRECTORY=#DSPACE_INSTALLATION_DIRECTORY=/opt/lindat-dspace/installation#' /etc/default/handle-server RUN perl -pi -e 's#DSPACE_INSTALLATION_DIRECTORY=#DSPACE_INSTALLATION_DIRECTORY=/opt/lindat-dspace/installation#' /etc/default/handle-server
# Install ping for livenessProbe
RUN apt-get update && apt-get install iputils-ping && rm -rf /var/lib/apt/lists/*
# Make directory to share shibboleth log files for analytics
RUN mkdir -p /opt/shibboleth-sp-fastcgi/var/log/shibboleth
# copy entrypoint script and start # copy entrypoint script and start
COPY commul-customization/entrypoint.sh /usr/bin/entrypoint.sh COPY commul-customization/entrypoint.sh /usr/bin/entrypoint.sh
RUN chmod u+x /usr/bin/entrypoint.sh RUN chmod u+x /usr/bin/entrypoint.sh
......
############################################################
# Dockerfile to build a handle server
# Based on Ubuntu
############################################################
FROM ubuntu
LABEL maintainer="Alexander König <Alexander.Koenig@eurac.edu>"
ENV TERM linux
RUN apt-get update &&\
apt-get -y upgrade &&\
apt-get -y install openjdk-8-jdk unzip wget make cpanminus gcc
# convenience packages
RUN apt-get -y install less vim
RUN cpanm Term::ReadLine
RUN cpanm File::Spec::Functions
RUN mkdir -p /hs/svr_1
WORKDIR /hs
RUN wget http://www.handle.net/hnr-source/hsj-8.1.1.tar.gz
RUN tar -xzf /hs/hsj-8.1.1.tar.gz
RUN mv hsj-8.1.1 hsj-8
COPY commul-customization/hdl-setup.tmp /tmp/
WORKDIR /hs/hsj-8
RUN cat /tmp/hdl-setup.tmp | bin/hdl-setup-server /hs/svr_1/
RUN perl -pi -e 's/YOUR_PREFIX/20.500.12084/' /hs/svr_1/config.dct
RUN perl -pi -e 's/case_sensitive" = "no/case_sensitive" = "yes/' /hs/svr_1/config.dct
RUN perl -i -plne 'print " \"storage_type\" = \"CUSTOM\"\n\ \"storage_class\" = \"org.dspace.handle.HandlePlugin\"" if(/max_session/);' /hs/svr_1/config.dct
# ENTRYPOINT ["/bin/bash"]
CMD tail -f /hs/svr_1/config.dct
FROM postgres:9.6
LABEL maintainer="Alexander König <Alexander.Koenig@eurac.edu>"
# install git
RUN apt-get update && apt-get -y install git
# copy int db script
RUN mkdir -p /docker-entrypoint-initdb.d
COPY commul-customization/init-dspace-dbs.sh /docker-entrypoint-initdb.d/
RUN chmod +x /docker-entrypoint-initdb.d/*
# copy over modified config file
#COPY commul-customization/postgresql.conf /tmp/
#COPY commul-customization/updateConfig.sh /docker-entrypoint-initdb.d/_updateConfig.sh
# copy script generating utilities db
RUN mkdir /tmp/sql/
COPY adapt_utilities_sql.sh /tmp/sql/
RUN /tmp/sql/adapt_utilities_sql.sh
# Usage: earthly --push [--no-cache] +docker
ARG DSPACE_APP_VERSION=1.2-rc3
docker-from-docker:
FROM DOCKERFILE --build-arg DSPACE_APP_VERSION=$DSPACE_APP_VERSION .
ARG DOCKER_BASE_URL="gitlab.inf.unibz.it:4567"
ARG EARTHLY_GIT_PROJECT_NAME # https://docs.earthly.dev/earthfile/builtin-args
ARG GIT_PROJECT_NAME="commul/docker/clarin-dspace"
ARG COMMUL_REGISTRY_URL="https://gitlab.inf.unibz.it/commul/docker/clarin-dspace/container_registry/"
ARG LABEL_VCS_URL="https://gitlab.inf.unibz.it/commul/docker/clarin-dspace"
ARG AUTHOR="Egon W. Stemle <egon.stemle@eurac.edu>"
ARG MAINTAINER="Egon W. Stemle <egon.stemle@eurac.edu>"
LABEL author="$AUTHOR"
LABEL maintainer="$MAINTAINER"
# An updated VERSION ARG triggers an update of the texlive installation
ARG EARTHLY_TARGET_TAG
ARG VERSION=$EARTHLY_TARGET_TAG
ARG EARTHLY_GIT_HASH
ARG GIT_HASH=$EARTHLY_GIT_HASH
ARG EARTHLY_TARGET_TAG_DOCKER
ARG TARGET_TAG_DOCKER=$EARTHLY_TARGET_TAG_DOCKER
ARG DOCKER_URL="$DOCKER_BASE_URL/$GIT_PROJECT_NAME/dspace-bundle/dspace"
LABEL org.label-schema.schema-version="1.0" \ # http://label-schema.org/rc1/
org.label-schema.version="$VERSION" \
org.label-schema.vcs-url="$LABEL_VCS_URL" \
org.commul.git-hash="$GIT_HASH" \
org.commul.registry-url="$COMMUL_REGISTRY_URL" \
org.commul.docker-url="$DOCKER_URL"
RUN echo $VERSION > /tmp/release
SAVE ARTIFACT --keep-ts /tmp/release AS LOCAL ./.release
SAVE IMAGE dspace:latest
SAVE IMAGE --push "$DOCKER_URL:latest"
SAVE IMAGE --push "$DOCKER_URL:$VERSION"
docker:
BUILD ./nginx/+docker
BUILD --build-arg DSPACE_APP_VERSION=$DSPACE_APP_VERSION ./postgres/+docker
BUILD --build-arg DSPACE_APP_VERSION=$DSPACE_APP_VERSION +docker-from-docker
#!/bin/bash
git clone https://github.com/commul/clarin-dspace.git -b commul-custom /tmp/dspace
cp /tmp/dspace/utilities/utilities.sql /tmp/sql/
cp /tmp/dspace/utilities/license_definition.txt /tmp/sql/
chmod -R a+w /tmp/sql/
perl -pi -e "s#afile :utildir '/license_definition.txt'#afile '/tmp/sql/license_definition.txt'#;" /tmp/sql/utilities.sql
#perl -pi -e 's/\$DSPACE_USER/$ENV{DSPACE_USER}/g;' /tmp/sql/utilities.sql
rm -rf /tmp/dspace
# Set some sane defaults for docker
APT { GET { Assume-Yes "true"; }; };
APT { GET { Fix-Broken "true"; }; };
This diff is collapsed.
'use strict';
(function(window){
function AAI() {
var host = 'https://' + window.location.hostname,
ourEntityID = host.match("clarin-dev.eurac.edu") ? "https://clarin-dev.eurac.edu" : host;
this.defaults = {
//host : 'https://ufal-point.mff.cuni.cz',
host : host, //better default (useful when testing on ufal-point-dev)
// do not add protocol because an error will appear in the DJ dialog
// if you see the error, your SP is not listed among djc trusted (edugain is enough to be trusted)
responseUrl: window.location.protocol + '//clarin-dev.eurac.edu/aai/discojuiceDiscoveryResponse.html',
ourEntityID: ourEntityID + '/Shibboleth.sso/Metadata',
serviceName: '',
metadataFeed: host + '/xmlui/discojuice/feeds',
selector: 'a.signon', // selector for login button
autoInitialize: true, // auto attach DiscoJuice to DOM
textHelpMore: "First check you are searching under the right country.\nIf your provider is not listed, please read <a href='https://clarin-dev.eurac.edu/how-do-i-sign-up' style='text-decoration: underline; font-weight: bold;'>these instructions</a> to obtain an account."
};
this.setup = function(options) {
var opts = jQuery.extend({}, this.defaults, options),
defaultCallback = function(e) {
window.location = opts.host + '/Shibboleth.sso/Login?SAMLDS=1&target=' + opts.target + '&entityID=' + window.encodeURIComponent(e.entityID);
};
//console.log(opts);
if(!opts.target){
throw 'You need to set the \'target\' parameter.';
}
// call disco juice setup
if (!opts.autoInitialize || $(opts.selector).length > 0) {
if(! window.DiscoJuice ){
throw 'Failed to find DiscoJuice. Did you include all that is necessary?';
}
var djc = DiscoJuice.Hosted.getConfig(
opts.serviceName,
opts.ourEntityID,
opts.responseUrl,
[ ],
opts.host + '/Shibboleth.sso/Login?SAMLDS=1&target='+opts.target+'&entityID=');
djc.metadata = [opts.metadataFeed];
djc.subtitle = "Login via Your home institution (e.g. university)";
djc.textHelp = opts.textHelp;
djc.textHelpMore = opts.textHelpMore;
djc.inlinemetadata = typeof opts.inlinemetadata === 'object' ? opts.inlinemetadata : [];
djc.inlinemetadata.push({
'country': '_all_',
'entityID': 'https://idm.clarin.eu',
'geo': {'lat': '51.833298', 'lon': '5.866699'},
'title': 'Clarin.eu website account',
'weight': -801
});
djc.inlinemetadata.push({
'country': 'IT',
'entityID': 'https://idp.eurac.edu/idp/shibboleth',
'geo': {'lat': '46.494281', 'lon': '11.346842'},
'title': 'Eurac Research',
'weight': -1000
});
if(opts.localauth) {
djc.inlinemetadata.push(
{
'entityID': 'local://',
'auth': 'local',
'title': 'Local authentication',
'country': '_all_',
'geo': null,
'weight': 1000
});
djc.callback = function(e){
var auth = e.auth || null;
switch(auth) {
case 'local':
DiscoJuice.UI.setScreen(opts.localauth);
jQuery('input#login').focus();
break;
//case 'saml':
default:
defaultCallback(e);
break;
}
};
}
if (opts.callback && typeof opts.callback === 'function') {
djc.callback = function(e) {
opts.callback(e, opts, defaultCallback);
};
}
if (opts.autoInitialize) {
jQuery(opts.selector).DiscoJuice( djc );
}
return djc;
} //if jQuery(selector)
};
}
if (!window.aai) {
window.aai = new AAI();
}
})(window);
/*global jQuery */
/*jshint globalstrict: true*/
'use strict';
jQuery(document).ready(
function () {
var opts = (function () {
var instance = {};
instance.autoInitialize = false;
//if ever port is needed (eg. testing other tomcat) it should be in responseUrl and target
instance.port = (window.location.port === "" ? "" : ":" + window.location.port);
instance.host = window.location.protocol + '//' +
window.location.hostname;
instance.repoPath = jQuery("a#repository_path").attr("href");
if (instance.repoPath.charAt(instance.repoPath.length - 1) !== '/') {
instance.repoPath = instance.repoPath + '/';
}
instance.target = instance.host + instance.port + instance.repoPath;
//In order to use the discojuice store (improve score of used IDPs)
//Works only with "verified" SPs - ie. ufal-point, displays error on ufal-point-dev
instance.responseUrl =
(window.location.hostname.search("clarin-dev") >= 0) ?
"" :
instance.host + instance.port + instance.repoPath +
"themes/UFAL/lib/html/disco-juice.html?";
instance.metadataFeed = instance.target + "discojuice/feeds";
instance.serviceName = "Eurac Research CLARIN Centre";
instance.localauth =
'<form method="post" action="' + instance.target + 'password-login"> ' +
'<p>Sign in using your local account obtained from the ERCC administrator.</p>' +
'<p style="margin: 5px; color: #888" ><input type="text" name="login_email" style="font-size: 160%; width: 100%" id="login" /> <label for="login">E-Mail Address</label></p>' +
'<p style="margin: 5px; color: #888" ><input type="password" name="login_password" style="font-size: 160%; width: 100%" id="pass" /> <label for="pass">Password</label></p>' +
'<p style="margin: 5px; color: #607890; text-decoration: underline;"><a href="' + instance.target + 'forgot">Forgot your password?</a></p>' +
'<p style="" ><input type="submit" style="margin: 20px 2px" name="submit" value="Sign in" /></p>' +
'</form>';
instance.target = instance.target + "shibboleth-login";
return instance;
})();
if (!("aai" in window)) {
throw "Failed to find UFAL AAI object. See https://redmine.ms.mff.cuni.cz/projects/lindat-aai for more details!";
}
window.aai.setup(opts);
}
); // ready
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" ID="_5d15d5a81bc952da1d34986ebc7713c0d5c9ea61" entityID="https://clarin-dev.eurac.edu/Shibboleth.sso/Metadata">
<md:Extensions>
<mdattr:EntityAttributes xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute">
<saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue>http://www.geant.net/uri/dataprotection-code-of-conduct/v1</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
Name="http://macedir.org/entity-category"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Name="http://macedir.org/entity-category" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue>http://clarin.eu/category/clarin-member</saml:AttributeValue>
</saml:Attribute>
</mdattr:EntityAttributes>
</md:Extensions>
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:1.0:protocol">
<md:Extensions xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
<mdui:DisplayName xml:lang="en">Eurac Research CLARIN Centre</mdui:DisplayName>
<mdui:DisplayName xml:lang="de">Eurac Research CLARIN Centre</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">Eurac Research CLARIN Centre</mdui:DisplayName>
<mdui:Description xml:lang="en">Eurac Research CLARIN Centre: Digital repository for language data</mdui:Description>
<mdui:Description xml:lang="de">Eurac Research CLARIN Centre: Digitales Repository für Sprachdaten</mdui:Description>
<mdui:Description xml:lang="it">Eurac Research CLARIN Centre: repository digitale di risorse linguistiche</mdui:Description>
<mdui:InformationURL xml:lang="en">https://clarin-dev.eurac.edu/repository/xmlui/page/about</mdui:InformationURL>
<mdui:InformationURL xml:lang="de">https://clarin-dev.eurac.edu/repository/xmlui/page/about</mdui:InformationURL>
<mdui:InformationURL xml:lang="it">https://clarin-dev.eurac.edu/repository/xmlui/page/about</mdui:InformationURL>
<mdui:Logo height="85" width="180">https://clarin-dev.eurac.edu/repository/xmlui/themes/UFAL/lib/lindat/public/img/eurac_research.svg</mdui:Logo>
<mdui:PrivacyStatementURL xml:lang="en">https://clarin-dev.eurac.edu/repository/xmlui/page/registration-privacypolicy</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="de">https://clarin-dev.eurac.edu/repository/xmlui/page/registration-privacypolicy</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="it">https://clarin-dev.eurac.edu/repository/xmlui/page/registration-privacypolicy</mdui:PrivacyStatementURL>
</mdui:UIInfo>
</md:Extensions>
<md:AttributeConsumingService index="1">
<md:ServiceName xml:lang="en">Digital Repository for the CLARIN Research Infrastructure provided by Eurac Research</md:ServiceName>
<md:ServiceName xml:lang="de">Digitales Repository für die CLARIN-Forschungs-Infrastruktur bereitgestellt durch Eurac Research</md:ServiceName>
<md:ServiceName xml:lang="it">Repository Digitale per la Infrastruttura di Ricerca CLARIN erogato da Eurac Research</md:ServiceName>
<md:ServiceDescription xml:lang="en">Digital Repository and services related to the CLARIN-IT consortium under the CLARIN Research Infrastructure; focused in the fields of terminology and multilingualism. The repository is based at Eurac Research in South Tyrol and managed by the Institute for Applied Linguistics.</md:ServiceDescription>
<md:ServiceDescription xml:lang="it">Digitales Repository und Services mit Bezug zum CLARIN-IT-Consortium im Rahmen der CLARIN Forschungsinfrastruktur; mit Fokus auf den Gebieten der Terminologie und Mehrsprachigkeit. Das Repository wird von Eurac Research gehostet und dort vom Institut für Angewandte Sprachforschung betreut.</md:ServiceDescription>
<md:ServiceDescription xml:lang="it">Repository Digitale e servizi relativi al consorzio CLARIN-IT sotto l'Infrastruttura di Ricerca CLARIN; focalizzato nel campo della teminologia e multilinguismo. Il repository è basato a Eurac Research in Alto Adige e gestito del Istituto di Linguistica Applicata.</md:ServiceDescription>
<md:RequestedAttribute FriendlyName="eduPersonPrincipalName" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="email" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="cn" Name="urn:oid:2.5.4.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
<md:RequestedAttribute FriendlyName="schacHomeOrganization" Name="urn:oid:1.3.6.1.4.1.25178.1.2.9" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
<md:RequestedAttribute FriendlyName="organizationName" Name="urn:oid:2.5.4.10" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
<md:RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="eduPersonEntitlement" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
<md:RequestedAttribute FriendlyName="eduPersonTargetedID" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="eduPersonScopedAffiliation" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
</md:AttributeConsumingService>
</md:SPSSODescriptor>
<md:Organization>
<md:OrganizationName xml:lang="en">Eurac Research</md:OrganizationName>
<md:OrganizationName xml:lang="de">Eurac Research</md:OrganizationName>
<md:OrganizationName xml:lang="it">Eurac Research</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">Eurac Research</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="de">Eurac Research</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="it">Eurac Research</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="en">http://www.eurac.edu/en</md:OrganizationURL>
<md:OrganizationURL xml:lang="de">http://www.eurac.edu/de</md:OrganizationURL>
<md:OrganizationURL xml:lang="it">http://www.eurac.edu/it</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="technical">
<md:GivenName>Alexander</md:GivenName>
<md:SurName>König</md:SurName>
<md:EmailAddress>mailto:Alexander.Koenig@eurac.edu</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="support">
<md:GivenName>Alexander</md:GivenName>
<md:SurName>König</md:SurName>
<md:EmailAddress>mailto:Alexander.Koenig@eurac.edu</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="administrative">
<md:GivenName>Andrea</md:GivenName>
<md:SurName>Abel</md:SurName>
<md:EmailAddress>mailto:Andrea.Abel@eurac.edu</md:EmailAddress>
</md:ContactPerson>
</md:EntityDescriptor>
This diff is collapsed.
This diff is collapsed.
...@@ -13,36 +13,35 @@ perl -pi -e 's/\$\{HANDLE_USER\}/$ENV{HANDLE_USER}/; s/\$\{HANDLE_PASSWORD\}/$EN ...@@ -13,36 +13,35 @@ perl -pi -e 's/\$\{HANDLE_USER\}/$ENV{HANDLE_USER}/; s/\$\{HANDLE_PASSWORD\}/$EN
/etc/init.d/handle-server start /etc/init.d/handle-server start
# initialize statistics & co # initialize statistics & co
/opt/tomcat8/bin/startup.sh
cd /opt/repository/workspace/scripts cd /opt/repository/workspace/scripts
make init_statistics make init_statistics
# https://ubuntuforums.org/showthread.php?t=979694 # Start cron job in the background
# Start process in the background and send its output to file descriptor 3 cron_hack(){
exec 3< <(while (true); do INIT="false"
timeout -k 30 300 make update_oai while (true); do
timeout -k 30 300 make update_statistics # the first time, wait for tomcat to start...
timeout -k 30 300 make update_sitemap [ "$INIT" = "false" ] && sleep 180 && INIT="true"
timeout -k 30 300 make lift_embargos
timeout -k 30 300 make update_openaire_cache set -x
timeout -k 30 300 make update_discovery LOGID=$(( (LOGID+1) % 5))
timeout -k 30 300 make send_info LOG="/tmp/entrypoint.log.$LOGID"
echo "INIT DONE." echo "$LOG" > $LOG
sleep 86400 timeout -k 30 300 make update_oai | tee -a $LOG
done) timeout -k 30 300 make update_statistics | tee -a $LOG
timeout -k 30 300 make update_sitemap | tee -a $LOG
# Read the output of the process line by line until one line contains Ready timeout -k 30 300 make lift_embargos | tee -a $LOG
while read line; do timeout -k 30 300 make update_openaire_cache | tee -a $LOG
case "$line" in timeout -k 30 300 make update_discovery | tee -a $LOG
"INIT DONE.") timeout -k 30 300 make send_info | tee -a $LOG
break date >> $LOG
;; echo "INIT DONE."
esac wget --no-check-certificate https://healthchecks.local.iiegn.eu/ping/24a81cdc-2906-4faa-89b3-0d57541abef6 -T 10 -t 5 -O /dev/null
done <&3 set +x
sleep 86400
# Close the file descriptor done
exec <&3 3<&- }
/opt/tomcat8/bin/shutdown.sh -force cron_hack &
# start tomcat # start tomcat
/opt/tomcat8/bin/catalina.sh run /opt/tomcat8/bin/catalina.sh run