From 88a0b60ae46b35c4aa2468a789d51c7bb611470a Mon Sep 17 00:00:00 2001 From: Ben Lubar Date: Tue, 20 Nov 2018 10:51:24 -0600 Subject: [PATCH] Fix Dockerfile.fpm by replacing it with a modified copy of Dockerfile.apache. --- contrib/docker/Dockerfile.fpm | 83 ++++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 25 deletions(-) diff --git a/contrib/docker/Dockerfile.fpm b/contrib/docker/Dockerfile.fpm index c9ee294a0..6c7822ea0 100644 --- a/contrib/docker/Dockerfile.fpm +++ b/contrib/docker/Dockerfile.fpm @@ -1,31 +1,64 @@ -FROM php:7.2.6-fpm-alpine +FROM php:7-fpm ARG COMPOSER_VERSION="1.6.5" ARG COMPOSER_CHECKSUM="67bebe9df9866a795078bb2cf21798d8b0214f2e0b2fd81f2e907a8ef0be3434" -RUN apk add --no-cache --virtual .build build-base autoconf imagemagick-dev libtool && \ - apk --no-cache add imagemagick git && \ - docker-php-ext-install pdo_mysql pcntl && \ - pecl install imagick && \ - docker-php-ext-enable imagick pcntl imagick && \ - curl -LsS https://getcomposer.org/download/${COMPOSER_VERSION}/composer.phar -o /tmp/composer.phar && \ - echo "${COMPOSER_CHECKSUM} /tmp/composer.phar" | sha256sum -c - && \ - install -m0755 -o root -g root /tmp/composer.phar /usr/bin/composer.phar && \ - ln -sf /usr/bin/composer.phar /usr/bin/composer && \ - rm /tmp/composer.phar && \ - apk --no-cache del --purge .build +RUN apt-get update \ + && apt-get install -y --no-install-recommends git \ + optipng pngquant jpegoptim gifsicle \ + libfreetype6 libjpeg62-turbo libpng16-16 libxpm4 libvpx4 libmagickwand-6.q16-3 \ + libfreetype6-dev libjpeg62-turbo-dev libpng-dev libxpm-dev libvpx-dev libmagickwand-dev \ + && docker-php-source extract \ + && docker-php-ext-configure gd \ + --with-freetype-dir=/usr/lib/x86_64-linux-gnu/ \ + --with-jpeg-dir=/usr/lib/x86_64-linux-gnu/ \ + --with-xpm-dir=/usr/lib/x86_64-linux-gnu/ \ + --with-vpx-dir=/usr/lib/x86_64-linux-gnu/ \ + && docker-php-ext-install pdo_mysql pcntl gd exif bcmath \ + && pecl install imagick \ + && docker-php-ext-enable imagick pcntl imagick gd exif \ + && curl -LsS https://getcomposer.org/download/${COMPOSER_VERSION}/composer.phar -o /usr/bin/composer \ + && echo "${COMPOSER_CHECKSUM} /usr/bin/composer" | sha256sum -c - \ + && chmod 755 /usr/bin/composer \ + && apt-get autoremove --purge -y \ + libfreetype6-dev libjpeg62-turbo-dev libpng-dev libxpm-dev libvpx-dev libmagickwand-dev \ + && rm -rf /var/cache/apt \ + && docker-php-source delete -COPY . /var/www/html/ - -WORKDIR /var/www/html -RUN install -d -m0755 -o www-data -g www-data \ - /var/www/html/storage \ - /var/www/html/storage/framework \ - /var/www/html/storage/logs \ - /var/www/html/storage/framework/sessions \ - /var/www/html/storage/framework/views \ - /var/www/html/storage/framework/cache && \ - composer install --prefer-source --no-interaction - -VOLUME ["/var/www/html"] ENV PATH="~/.composer/vendor/bin:./vendor/bin:${PATH}" + +COPY . /var/www/ + +WORKDIR /var/www/ +RUN cp -r storage storage.skel \ + && cp contrib/docker/php.ini /usr/local/etc/php/conf.d/pixelfed.ini \ + && composer install --prefer-source --no-interaction \ + && rm -rf html && ln -s public html + +VOLUME ["/var/www/storage", "/var/www/public.ext"] + +ENV APP_ENV=production \ + APP_DEBUG=false \ + LOG_CHANNEL=stderr \ + DB_CONNECTION=mysql \ + DB_PORT=3306 \ + DB_HOST=db \ + BROADCAST_DRIVER=log \ + QUEUE_DRIVER=redis \ + HORIZON_PREFIX=horizon-pixelfed \ + REDIS_HOST=redis \ + SESSION_SECURE_COOKIE=true \ + API_BASE="/api/1/" \ + API_SEARCH="/api/search" \ + OPEN_REGISTRATION=true \ + ENFORCE_EMAIL_VERIFICATION=true \ + REMOTE_FOLLOW=false \ + ACTIVITY_PUB=false + +CMD cp -r storage.skel/* storage/ \ + && cp -r public/* public.ext/ \ + && chown -R www-data:www-data storage/ \ + && php artisan storage:link \ + && php artisan migrate --force \ + && php artisan update \ + && exec php-fpm