|
|
|
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
|
|
|
|
|
|
|
|
# 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"]
|