Docker: update dependencies, introduce Composer

Relates to https://github.com/shaarli/Shaarli/issues/607
Relates to https://github.com/shaarli/Shaarli/pull/612
Relates to https://github.com/shaarli/Shaarli/pull/624

See https://github.com/shaarli/Shaarli/wiki/Server-requirements

Modifications:
- [all][env] set $TERM=dumb to avoid debconf-related issues
- [all][pkg] install ca-certificates
- [all][pkg] cleanup APT cache after installing packages
- [dev] refactor Dockerfile
- [prod][master] refactor Dockerfile
- [prod][master][php] use Composer to resolve PHP dependencies

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
This commit is contained in:
VirtualTam 2016-08-12 21:36:54 +02:00
parent 8758bb0ac8
commit 90f12b12ca
2 changed files with 38 additions and 15 deletions

View File

@ -1,26 +1,34 @@
FROM debian:jessie
MAINTAINER Shaarli Community
ENV TERM dumb
RUN apt-get update \
&& apt-get install -y \
nginx-light php5-fpm php5-gd supervisor \
git nano
&& apt-get install --no-install-recommends -y \
ca-certificates \
nginx-light \
php5-curl \
php5-fpm \
php5-gd \
php5-intl \
supervisor \
git \
nano \
&& apt-get clean
COPY nginx.conf /etc/nginx/nginx.conf
COPY supervised.conf /etc/supervisor/conf.d/supervised.conf
ADD https://getcomposer.org/composer.phar /usr/local/bin/composer
RUN chmod 755 /usr/local/bin/composer
COPY nginx.conf /etc/nginx/nginx.conf
COPY supervised.conf /etc/supervisor/conf.d/supervised.conf
RUN echo "<?php phpinfo(); ?>" > /var/www/index.php
WORKDIR /var/www
RUN git clone https://github.com/shaarli/Shaarli.git shaarli \
&& cd shaarli \
&& composer --prefer-dist install
RUN rm -rf html \
&& git clone https://github.com/shaarli/Shaarli.git shaarli \
&& echo "<?php phpinfo(); ?>" > index.php \
&& chown -R www-data:www-data .
WORKDIR /var/www/shaarli
RUN composer install
VOLUME /var/www/shaarli/data
EXPOSE 80

View File

@ -1,17 +1,32 @@
FROM debian:jessie
MAINTAINER Shaarli Community
ENV TERM dumb
RUN apt-get update \
&& apt-get install -y curl nginx-light php5-fpm php5-gd supervisor
&& apt-get install --no-install-recommends -y \
ca-certificates \
curl \
nginx-light \
php5-curl \
php5-fpm \
php5-gd \
php5-intl \
supervisor \
&& apt-get clean
COPY nginx.conf /etc/nginx/nginx.conf
COPY supervised.conf /etc/supervisor/conf.d/supervised.conf
ADD https://getcomposer.org/composer.phar /usr/local/bin/composer
RUN chmod 755 /usr/local/bin/composer
WORKDIR /var/www
RUN rm -rf html \
&& curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xvzf - \
RUN curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xzf - \
&& mv Shaarli-master shaarli \
&& chown -R www-data:www-data shaarli
&& cd shaarli \
&& composer --prefer-dist --no-dev install
RUN rm -rf html \
&& chown -R www-data:www-data .
VOLUME /var/www/shaarli/data