X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=docker%2Falpine%2FDockerfile.master;h=7bbe1fb77f66e46afdc80906ba2c0f6fe9a5a08b;hb=94abe0a65302076f814cbaf3be32180ff5a5c728;hp=58f7c6e71a8ea88e8cb5a033a167b23bf4ede4ce;hpb=1a216faecb5c114afbf36ecbac8ec3f795309eba;p=github%2Fshaarli%2FShaarli.git diff --git a/docker/alpine/Dockerfile.master b/docker/alpine/Dockerfile.master index 58f7c6e7..7bbe1fb7 100644 --- a/docker/alpine/Dockerfile.master +++ b/docker/alpine/Dockerfile.master @@ -1,9 +1,28 @@ +# Stage 1: +# - Get Shaarli sources +# - Resolve PHP dependencies with Composer +FROM composer:latest as composer +RUN curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xzf - \ + && mv Shaarli-master shaarli \ + && cd shaarli \ + && composer --prefer-dist --no-dev install + +# Stage 2: +# - Frontend dependencies +FROM node:9.9-alpine as node +COPY --from=composer /app/shaarli shaarli +RUN cd shaarli \ + && yarn install \ + && yarn run build \ + && rm -rf node_modules + +# Stage 3: +# - Shaarli image FROM alpine:3.6 -MAINTAINER Shaarli Community +LABEL maintainer="Shaarli Community" RUN apk --update --no-cache add \ ca-certificates \ - curl \ nginx \ php7 \ php7-ctype \ @@ -15,7 +34,6 @@ RUN apk --update --no-cache add \ php7-json \ php7-mbstring \ php7-openssl \ - php7-phar \ php7-session \ php7-xml \ php7-zlib \ @@ -25,19 +43,17 @@ COPY nginx.conf /etc/nginx/nginx.conf COPY php-fpm.conf /etc/php7/php-fpm.conf COPY services.d /etc/services.d -RUN curl -sS https://getcomposer.org/installer | php7 -- --install-dir=/usr/local/bin --filename=composer \ - && rm -rf /etc/php7/php-fpm.d/www.conf \ +RUN rm -rf /etc/php7/php-fpm.d/www.conf \ && sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php7/php.ini \ && sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php7/php.ini WORKDIR /var/www -RUN curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xzf - \ - && mv Shaarli-master shaarli \ - && cd shaarli \ - && composer --prefer-dist --no-dev install \ - && rm -rf ~/.composer \ - && chown -R nginx:nginx . +COPY --from=node /shaarli shaarli + +RUN chown -R nginx:nginx . \ + && ln -sf /dev/stdout /var/log/nginx/shaarli.access.log \ + && ln -sf /dev/stderr /var/log/nginx/shaarli.error.log VOLUME /var/www/shaarli/data