Files
docker/Dockerfile

88 lines
2.3 KiB
Docker
Raw Normal View History

2023-08-13 11:41:33 +02:00
ARG COMPOSER_VERSION=2.5.8
FROM composer:$COMPOSER_VERSION as composer
2022-11-30 00:24:03 +01:00
FROM golang:alpine as builder
# envsubst from gettext can not replace env vars with default values
# this package is not available for ARM32 and we have to build it from source code
# flag -ldflags "-s -w" produces a smaller executable
RUN go install -ldflags "-s -w" -v github.com/a8m/envsubst/cmd/envsubst@v1.3.0
FROM alpine:3.18
COPY --from=builder /go/bin/envsubst /usr/bin/envsubst
2016-04-18 11:00:29 +02:00
2023-08-28 10:36:30 +02:00
ARG WALLABAG_VERSION=2.6.5
2016-04-18 11:00:29 +02:00
2017-02-02 11:42:13 +01:00
RUN set -ex \
&& apk add --no-cache \
2016-04-18 11:00:29 +02:00
curl \
2017-02-02 11:42:13 +01:00
libwebp \
2016-04-18 11:00:29 +02:00
nginx \
pcre \
2022-11-30 00:24:03 +01:00
php81 \
php81-bcmath \
php81-ctype \
php81-curl \
php81-dom \
php81-fpm \
php81-gd \
php81-gettext \
php81-iconv \
php81-json \
php81-mbstring \
php81-openssl \
php81-pecl-amqp \
php81-pdo_mysql \
php81-pdo_pgsql \
php81-pdo_sqlite \
php81-phar \
php81-session \
php81-simplexml \
php81-tokenizer \
php81-xml \
php81-zlib \
php81-sockets \
php81-xmlreader \
php81-tidy \
php81-intl \
2023-06-20 18:16:17 +02:00
php81-sodium \
mariadb-client \
postgresql14-client \
rabbitmq-c \
2016-04-18 11:00:29 +02:00
s6 \
tar \
tzdata \
2022-11-30 00:24:03 +01:00
&& ln -sf /usr/bin/php81 /usr/bin/php \
&& ln -sf /usr/sbin/php-fpm81 /usr/sbin/php-fpm \
&& rm -rf /var/cache/apk/* \
2016-04-18 11:00:29 +02:00
&& ln -sf /dev/stdout /var/log/nginx/access.log \
2023-08-13 11:41:33 +02:00
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
2016-04-18 11:00:29 +02:00
COPY root /
2017-02-24 13:45:44 +01:00
RUN set -ex \
&& curl -L -o /tmp/wallabag.tar.gz https://github.com/wallabag/wallabag/archive/$WALLABAG_VERSION.tar.gz \
&& tar xvf /tmp/wallabag.tar.gz -C /tmp \
&& mkdir /var/www/wallabag \
&& mv /tmp/wallabag-*/* /var/www/wallabag/ \
&& rm -rf /tmp/wallabag* \
2017-02-24 13:45:44 +01:00
&& cd /var/www/wallabag \
&& mkdir data/assets \
&& envsubst < /etc/wallabag/parameters.template.yml > app/config/parameters.yml \
2019-03-04 13:44:40 +01:00
&& SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist --no-progress \
&& rm -rf /root/.composer/* /var/www/wallabag/var/cache/* /var/www/wallabag/var/logs/* /var/www/wallabag/var/sessions/* \
&& chown -R nobody:nobody /var/www/wallabag
2016-04-18 11:00:29 +02:00
ENV PATH="${PATH}:/var/www/wallabag/bin"
# Set console entry path
WORKDIR /var/www/wallabag
2016-04-18 11:00:29 +02:00
EXPOSE 80
ENTRYPOINT ["/entrypoint.sh"]
CMD ["wallabag"]