diff --git a/Dockerfile b/Dockerfile index 67bbc3e..a8228ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,15 +11,15 @@ ENV DEBIAN_FRONTEND noninteractive # Add sources for latest nginx RUN apt-get install -y wget RUN wget -q http://nginx.org/keys/nginx_signing.key -O- | sudo apt-key add - -RUN echo deb http://nginx.org/packages/ubuntu/ trusty nginx >> /etc/apt/sources.list -RUN echo deb-src http://nginx.org/packages/ubuntu/ trusty nginx >> /etc/apt/sources.list +RUN echo deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx >> /etc/apt/sources.list +RUN echo deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx >> /etc/apt/sources.list # Update System RUN apt-get update RUN apt-get -y upgrade # Basic Requirements -RUN apt-get -y install nginx php5-fpm php5-mysql php-apc pwgen python-setuptools curl git unzip +RUN apt-get -y install nginx php5-fpm php5-mysql php-apc pwgen python-setuptools curl git unzip vim # Install Extra PHP Modules RUN apt-get -y install php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl diff --git a/nginx-site.conf b/nginx-site.conf index 8f39516..795bb42 100644 --- a/nginx-site.conf +++ b/nginx-site.conf @@ -33,14 +33,17 @@ server { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one + # deny access to . files, for security # - location ~ /\.ht { - deny all; + location ~ /\. { + access_log off; + log_not_found off; + deny all; } + } diff --git a/start.sh b/start.sh index 598fa56..b369d98 100644 --- a/start.sh +++ b/start.sh @@ -1,4 +1,25 @@ #!/bin/bash -# start supervisord +# Pull down code form git for our site! +if [ ! -z "$GIT_REPO" ]; then + rm /usr/share/nginx/html/* + if [ ! -z "$GIT_BRANCH" ]; then + git clone -b $GIT_BRANCH $GIT_REPO /usr/share/nginx/html/ + else + git clone $GIT_REPO /usr/share/nginx/html/ + fi +fi + +# Very dirty hack to replace variables in code with ENVIRONMENT values + +for i in $(env) +do + variable=$(echo "$i" | cut -d'=' -f1) + value=$(echo "$i" | cut -d'=' -f2) + if [[ "$variable" != '%s' ]] ; then + replace='\$\$_'${variable}'_\$\$' + find /usr/share/nginx/html -type f -exec sed -i -e 's/'${replace}'/'${value}'/g' {} \; ; fi + done + +# Start supervisord and services /usr/local/bin/supervisord -n