FROM alpine:latest RUN apk upgrade --no-cache # add user that will be used to install and run the application RUN addgroup -g 1000 deploy RUN adduser -D -u 1000 -G deploy deploy # # CUSTOM PART IS BELOW HERE # # install required packages RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.10/community" >> /etc/apk/repositories RUN apk add --no-cache apache2 apache2-utils apache2-webdav mod_dav_svn subversion # add svn configuration ADD dav_svn.conf /etc/apache2/conf.d/dav_svn.conf # create writable directory for dav lock file RUN mkdir /var/lib/dav/ RUN chown deploy:deploy /var/lib/dav/ # apache should run as user deploy RUN sed -i.bak -r 's/(User|Group) apache/\1 deploy/' /etc/apache2/httpd.conf RUN sed -i.bak 's/#ServerName www.example.com:80/ServerName svn.cpi.imtek.uni-freiburg.de:80/' /etc/apache2/httpd.conf RUN sed -i.bak 's/LogLevel warn/LogLevel debug/' /etc/apache2/httpd.conf RUN sed -i.bak 's/#LoadModule deflate_module/LoadModule deflate_module' /etc/apache2/httpd.conf #LoadModule logio_module #LoadModule watchdog_module # copy the script to run httpd in foreground COPY httpd-foreground /usr/local/bin/ RUN chown deploy:deploy /usr/local/bin/httpd-foreground RUN chmod u+x /usr/local/bin/httpd-foreground # setup the right permissions for deploy user RUN chown -R deploy:deploy /var/www/ RUN chown -R deploy:deploy /usr/lib/apache2/ RUN chown -R deploy:deploy /run/apache2/ RUN chown -R deploy:deploy /var/log/apache2/ USER deploy CMD ["httpd-foreground"]