summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-02-06 20:00:26 -0500
committerFrederic Guillot <fred@kanboard.net>2016-02-06 20:00:26 -0500
commit77a91b7adeb950a906c660bbb5c39c69a75e429d (patch)
tree5441a22beff07e43716adb2f60f0ce17c4a524da /Dockerfile
parent58cef289674717027b6b470044504a661f3bd9ad (diff)
New Dockerfile based on Alpine Linux and Nginx/PHP-FPM
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile42
1 files changed, 26 insertions, 16 deletions
diff --git a/Dockerfile b/Dockerfile
index eed29a36..5b1ee501 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,23 +1,33 @@
-FROM ubuntu:14.04
+FROM gliderlabs/alpine:latest
MAINTAINER Frederic Guillot <fred@kanboard.net>
-RUN apt-get update && apt-get install -y apache2 php5 php5-gd php5-ldap php5-sqlite git curl && apt-get clean
-RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf && a2enmod rewrite
-RUN sed -ri 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
-RUN curl -sS https://getcomposer.org/installer | php -- --filename=/usr/local/bin/composer
-RUN cd /var/www && git clone --depth 1 https://github.com/fguillot/kanboard.git
-RUN cd /var/www/kanboard && composer --prefer-dist --no-dev --optimize-autoloader --quiet install
-RUN rm -rf /var/www/html && mv /var/www/kanboard /var/www/html
-RUN chown -R www-data:www-data /var/www/html/data
+RUN apk-install nginx bash ca-certificates s6 curl \
+ php-fpm php-json php-zlib php-xml php-dom php-ctype php-opcache php-zip \
+ php-pdo php-pdo_mysql php-pdo_sqlite php-pdo_pgsql php-ldap \
+ php-gd php-mcrypt php-openssl php-phar \
+ && curl -sS https://getcomposer.org/installer | php -- --filename=/usr/local/bin/composer
-VOLUME /var/www/html/data
+RUN cd /var/www \
+ && wget https://github.com/fguillot/kanboard/archive/master.zip \
+ && unzip -qq master.zip \
+ && rm -f *.zip \
+ && mv kanboard-master kanboard \
+ && cd /var/www/kanboard && composer --prefer-dist --no-dev --optimize-autoloader --quiet install \
+ && chown -R nginx:nginx /var/www/kanboard \
+ && chown -R nginx:nginx /var/lib/nginx
+
+COPY .docker/services.d /etc/services.d
+COPY .docker/php/conf.d/local.ini /etc/php/conf.d/
+COPY .docker/php/php-fpm.conf /etc/php/
+COPY .docker/nginx/nginx.conf /etc/nginx/
+COPY .docker/kanboard/config.php /var/www/kanboard/
+COPY .docker/kanboard/config.php /var/www/kanboard/
+COPY .docker/crontab/kanboard /var/spool/cron/crontabs/nginx
EXPOSE 80
-ENV APACHE_RUN_USER www-data
-ENV APACHE_RUN_GROUP www-data
-ENV APACHE_LOG_DIR /var/log/apache2
-ENV APACHE_LOCK_DIR /var/lock/apache2
-ENV APACHE_PID_FILE /var/run/apache2.pid
+VOLUME /var/www/kanboard/data
+VOLUME /var/www/kanboard/plugins
-CMD /usr/sbin/apache2ctl -D FOREGROUND
+ENTRYPOINT ["/bin/s6-svscan", "/etc/services.d"]
+CMD []