ARG VERSION FROM debian:$VERSION ARG GITURL=https://voparis-gitlab.obspm.fr ARG SERVER ARG INSTITUTION ARG HOMEPATH=/home/dachsroot RUN apt-get -y update RUN apt-get -y upgrade RUN apt-get install -y curl apt-utils # add dachs source RUN curl -o /etc/apt/trusted.gpg.d/gavo-archive.key.asc https://docs.g-vo.org/archive-key.asc RUN echo "deb http://vo.ari.uni-heidelberg.de/debian release main" > /etc/apt/sources.list.d/dachs.list ### # Server Configuration ### RUN apt-get -y update RUN apt-get -y upgrade RUN apt-get install -y postgresql-13 postgresql-13-q3c postgresql-13-pgsphere RUN apt-get install -y git wget awstats net-tools vim RUN service postgresql restart && apt-get install -y gavodachs2-server RUN apt-get install -y openssh-server openssh-client apache2 w3m #copy the configuration files into the docker COPY . $HOMEPATH #import dachs server configuration files from git RUN echo $GITURL/vespa/dachs/servers/$INSTITUTION/$SERVER.git RUN git clone $GITURL/vespa/dachs/servers/$INSTITUTION/$SERVER.git $HOMEPATH/server # copy files at the right path RUN cp $HOMEPATH/000-default.conf /etc/apache2/sites-enabled/000-default.conf RUN cp $HOMEPATH/ports.conf /etc/apache2/ports.conf RUN cp $HOMEPATH/awstats.dachs.conf /etc/awstats/awstats.dachs.conf RUN cp $HOMEPATH/server/gavo.rc /etc/gavo.rc RUN cp $HOMEPATH/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh RUN chmod +x /usr/bin/docker-entrypoint.sh RUN cp $HOMEPATH/server/defaultmeta.txt /var/gavo/etc/defaultmeta.txt RUN mkdir /var/gavo/web/nv_static/img/ -p RUN cp $HOMEPATH/logos/* /var/gavo/web/nv_static/img/ #import services from git #clone all repositories from the group -- only if the gitlab project is Public RUN wget -O $HOMEPATH/group.json $GITURL'/api/v4/groups/vespa%2Fdachs%2Fservices%2F'$INSTITUTION'%2F'$SERVER RUN mkdir $HOMEPATH/services/ && cd $HOMEPATH/services/ && egrep -o 'https://[^"]+\.git' $HOMEPATH/group.json|xargs -n 1 -P 8 git clone RUN cp -r $HOMEPATH/services/* /var/gavo/inputs/ ### #dachs configuration ### RUN chown dachsroot:gavo /var/gavo/etc/defaultmeta.txt RUN chown dachsroot:gavo /var/gavo/web/nv_static/img/logo* RUN chown -R dachsroot:gavo /var/gavo/inputs/* ### #apache configuration ### RUN a2enmod cgi ### # auto update awstats data using cron ### RUN echo "#!/bin/bash" > /etc/cron.daily/awstats RUN echo "/usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=dachs -update" >> /etc/cron.daily/awstats RUN chgrp 755 /etc/cron.daily/awstats ### # script to set up services ### RUN echo "cd $HOMEPATH/$SERVER/$GIT/" >> /usr/bin/docker-entrypoint.sh RUN echo "git pull" >> /usr/bin/docker-entrypoint.sh # add to the script to maintain docker up RUN echo "tail -f /dev/null" >> /usr/bin/docker-entrypoint.sh ENTRYPOINT /usr/bin/docker-entrypoint.sh && tail -f /dev/null