diff --git a/Dockerfile b/Dockerfile index 25ff510..703c11a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM ubuntu:latest +# update to the latest packages +ENV DEBIAN_FRONTEND="noninteractive" RUN apt-get update && apt-get upgrade -y # add user that will be used to install and run the application @@ -11,36 +13,27 @@ RUN useradd -u 1000 -g deploy deploy # # install required packages -RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y apache2 apache2-utils libapache2-mod-svn subversion -RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y vim curl lsof +RUN apt-get install -y apache2 apache2-utils libapache2-mod-svn subversion -# add svn configuration -ADD dav_svn.conf /etc/apache2/sites-enabled/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/apache2.conf -RUN sed -i.bak 's/#ServerName www.example.com:80/ServerName svn.cpi.imtek.uni-freiburg.de:80/' /etc/apache2/apache2.conf -RUN sed -i.bak 's/LogLevel warn/LogLevel debug/' /etc/apache2/apache2.conf -RUN sed -i.bak 's/Listen 80/Listen 80\nListen 8000/' /etc/apache2/ports.conf -#RUN sed -i.bak 's/#LoadModule deflate_module/LoadModule deflate_module/' /etc/apache2/apache2.conf -#RUN sed -i.bak 's/#LoadModule logio_module/LoadModule logio_module/' /etc/apache2/apache2.conf +# install required packages for debugging +# RUN apt-get install -y vim curl lsof # 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/ +# add svn site configuration +ADD dav_svn.conf /etc/apache2/sites-enabled/dav_svn.conf +# create writable directory for dav lock file +#RUN mkdir /var/lib/dav/ +# adjust apache configuration files +#RUN sed -i.bak 's/LogLevel warn/LogLevel debug/' /etc/apache2/apache2.conf +#RUN sed -i.bak 's/#ServerName www.example.com:80/ServerName svn.cpi.imtek.uni-freiburg.de:80/' /etc/apache2/apache2.conf +RUN sed -i.bak 's/Listen 80/Listen 80\nListen 8000/' /etc/apache2/ports.conf + +# setup runtime variables for apache ENV APACHE_PID_FILE=/var/run/apache2/apache2.pid ENV APACHE_LOCK_DIR=/var/lock/apache2 ENV APACHE_LOG_DIR=/var/log/apache2 @@ -48,6 +41,5 @@ ENV APACHE_RUN_DIR=/var/run/apache2 ENV APACHE_RUN_USER=deploy ENV APACHE_RUN_GROUP=deploy - -USER deploy +# Start httpd as root, but will switch to deploy user thanks to env variable CMD ["httpd-foreground"] \ No newline at end of file