mirror of
https://github.com/wallabag/docker.git
synced 2026-02-09 11:27:34 +01:00
144
Dockerfile
144
Dockerfile
@ -1,73 +1,89 @@
|
||||
FROM alpine:3.12
|
||||
FROM php:7.4.14-fpm-alpine
|
||||
|
||||
LABEL maintainer "Marvin Steadfast <marvin@xsteadfastx.org>"
|
||||
ARG BASE=2.4.2
|
||||
|
||||
ARG WALLABAG_VERSION=2.4.2
|
||||
WORKDIR /var/www/html
|
||||
|
||||
RUN apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ --allow-untrusted
|
||||
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
|
||||
ENV SYMFONY_ENV=prod
|
||||
|
||||
RUN set -ex \
|
||||
&& apk update \
|
||||
&& apk upgrade --available \
|
||||
&& apk add \
|
||||
ansible \
|
||||
curl \
|
||||
git \
|
||||
libwebp \
|
||||
mariadb-client \
|
||||
nginx \
|
||||
pcre \
|
||||
php7 \
|
||||
php7-amqp \
|
||||
php7-bcmath \
|
||||
php7-ctype \
|
||||
php7-curl \
|
||||
php7-dom \
|
||||
php7-fpm \
|
||||
php7-gd \
|
||||
php7-gettext \
|
||||
php7-iconv \
|
||||
php7-json \
|
||||
php7-mbstring \
|
||||
php7-openssl \
|
||||
php7-pdo_mysql \
|
||||
php7-pdo_pgsql \
|
||||
php7-pdo_sqlite \
|
||||
php7-phar \
|
||||
php7-session \
|
||||
php7-simplexml \
|
||||
php7-tokenizer \
|
||||
php7-xml \
|
||||
php7-zlib \
|
||||
php7-sockets \
|
||||
php7-xmlreader \
|
||||
php7-tidy \
|
||||
php7-intl \
|
||||
py3-mysqlclient \
|
||||
py3-psycopg2 \
|
||||
py-simplejson \
|
||||
rabbitmq-c \
|
||||
s6 \
|
||||
tar \
|
||||
tzdata \
|
||||
make \
|
||||
bash \
|
||||
&& rm -rf /var/cache/apk/* \
|
||||
&& ln -sf /dev/stdout /var/log/nginx/access.log \
|
||||
&& ln -sf /dev/stderr /var/log/nginx/error.log \
|
||||
&& curl -s https://getcomposer.org/installer | php \
|
||||
&& mv composer.phar /usr/local/bin/composer \
|
||||
&& composer selfupdate --1 \
|
||||
&& git clone --branch $WALLABAG_VERSION --depth 1 https://github.com/wallabag/wallabag.git /var/www/wallabag
|
||||
RUN set -ex; \
|
||||
\
|
||||
apk add --no-cache --virtual .run-deps \
|
||||
gnu-libiconv=1.15-r3 \
|
||||
imagemagick6-libs \
|
||||
tzdata \
|
||||
; \
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
$PHPIZE_DEPS \
|
||||
freetype-dev \
|
||||
gettext-dev \
|
||||
icu-dev \
|
||||
imagemagick6-dev \
|
||||
libjpeg-turbo-dev \
|
||||
libpng-dev \
|
||||
libxml2-dev \
|
||||
libzip-dev \
|
||||
oniguruma-dev \
|
||||
postgresql-dev \
|
||||
sqlite-dev \
|
||||
tidyhtml-dev \
|
||||
; \
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
bcmath \
|
||||
gd \
|
||||
gettext \
|
||||
iconv \
|
||||
intl \
|
||||
mbstring \
|
||||
opcache \
|
||||
pdo \
|
||||
pdo_mysql \
|
||||
pdo_pgsql \
|
||||
pdo_sqlite \
|
||||
sockets \
|
||||
tidy \
|
||||
zip \
|
||||
; \
|
||||
pecl install redis; \
|
||||
pecl install imagick; \
|
||||
docker-php-ext-enable \
|
||||
redis \
|
||||
imagick \
|
||||
; \
|
||||
runDeps="$( \
|
||||
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
|
||||
| tr ',' '\n' \
|
||||
| sort -u \
|
||||
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
|
||||
)"; \
|
||||
apk add --virtual .wallabag-phpext-rundeps $runDeps; \
|
||||
apk del .build-deps \
|
||||
; \
|
||||
apk add --virtual .composer-runtime-deps git patch; \
|
||||
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/ --filename=composer; \
|
||||
rm -rf /usr/src/* /tmp/pear/*
|
||||
|
||||
COPY root /
|
||||
RUN wget -O /usr/local/bin/envsubst https://github.com/a8m/envsubst/releases/download/v1.1.0/envsubst-`uname -s`-`uname -m`; \
|
||||
chmod +x /usr/local/bin/envsubst
|
||||
|
||||
RUN set -ex \
|
||||
&& cd /var/www/wallabag \
|
||||
&& SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist --no-progress \
|
||||
&& chown -R nobody:nobody /var/www/wallabag
|
||||
RUN wget -O /tmp/wallabag.tar.gz https://github.com/wallabag/wallabag/archive/$BASE.tar.gz; \
|
||||
mkdir /tmp/extract; \
|
||||
tar xf /tmp/wallabag.tar.gz -C /tmp/extract; \
|
||||
rmdir /var/www/html; \
|
||||
mv /tmp/extract/wallabag-*/ /var/www/html; \
|
||||
cd /var/www/html; \
|
||||
composer install --no-dev --no-interaction -o --prefer-dist; \
|
||||
chown -R www-data: /var/www/html; \
|
||||
rm -rf /tmp/wallabag.tar.gz /tmp/extract /root/.composer /var/www/html/var/cache/prod;
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
COPY config/ /opt/wallabag/config/
|
||||
COPY patches/ /opt/wallabag/patches/
|
||||
COPY apply-patches.sh /opt/wallabag/apply-patches.sh
|
||||
RUN set -ex; \
|
||||
/opt/wallabag/apply-patches.sh
|
||||
|
||||
EXPOSE 80
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["wallabag"]
|
||||
CMD ["php-fpm"]
|
||||
|
||||
Reference in New Issue
Block a user