2020-09-24 08:00:45 +00:00
|
|
|
FROM alpine:3.12
|
2018-06-10 14:13:09 +00:00
|
|
|
|
2020-05-02 16:11:15 +00:00
|
|
|
LABEL maintainer="JJTC <oci@jjtc.eu>"
|
2018-06-10 14:13:09 +00:00
|
|
|
|
2021-01-03 22:42:19 +00:00
|
|
|
ENV PPM_VERSION=2.2.0 \
|
2020-09-24 07:55:37 +00:00
|
|
|
PPM_HTTP_VERSION=2.0.6 \
|
2018-06-10 14:13:09 +00:00
|
|
|
BOOKSTACK=BookStack \
|
2020-09-24 08:00:45 +00:00
|
|
|
BOOKSTACK_VERSION=0.30.0 \
|
2018-06-10 14:13:09 +00:00
|
|
|
BOOKSTACK_HOME="/app"
|
|
|
|
|
|
2020-05-02 16:11:15 +00:00
|
|
|
COPY entrypoint.sh /app/entrypoint.sh
|
2018-06-10 14:13:09 +00:00
|
|
|
|
|
|
|
|
RUN set -ex \
|
2020-05-02 16:11:15 +00:00
|
|
|
&& chmod +x /app/entrypoint.sh \
|
2018-06-10 14:13:09 +00:00
|
|
|
# ensure www-data user exists
|
|
|
|
|
# 82 is the standard uid/gid for "www-data" in Alpine
|
|
|
|
|
&& addgroup -g 82 -S www-data \
|
|
|
|
|
&& adduser -u 82 -D -S -G www-data www-data \
|
2020-04-08 07:23:28 +00:00
|
|
|
&& addgroup -S bookstack \
|
|
|
|
|
&& adduser -S -D -H -s /sbin/nologin -G bookstack -g bookstack bookstack \
|
2018-06-10 14:13:09 +00:00
|
|
|
&& apk update \
|
|
|
|
|
&& echo "Setting up PHP extensions" \
|
|
|
|
|
&& apk add --no-cache \
|
|
|
|
|
curl \
|
2020-04-08 07:20:23 +00:00
|
|
|
multirun \
|
2018-06-10 14:13:09 +00:00
|
|
|
nginx \
|
|
|
|
|
tar \
|
|
|
|
|
php7 \
|
|
|
|
|
php7-cgi \
|
|
|
|
|
php7-ctype \
|
|
|
|
|
php7-curl \
|
|
|
|
|
php7-dom \
|
|
|
|
|
php7-exif \
|
|
|
|
|
php7-fileinfo \
|
|
|
|
|
php7-gd \
|
|
|
|
|
php7-iconv \
|
|
|
|
|
php7-intl \
|
|
|
|
|
php7-json \
|
|
|
|
|
php7-ldap \
|
|
|
|
|
php7-mbstring \
|
|
|
|
|
php7-mcrypt \
|
|
|
|
|
php7-opcache \
|
|
|
|
|
php7-openssl \
|
|
|
|
|
php7-pcntl \
|
|
|
|
|
php7-pdo_mysql \
|
2019-05-08 12:04:15 +00:00
|
|
|
php7-pecl-imagick \
|
2018-06-10 14:13:09 +00:00
|
|
|
php7-phar \
|
|
|
|
|
php7-posix \
|
|
|
|
|
php7-redis \
|
|
|
|
|
php7-session \
|
|
|
|
|
php7-simplexml \
|
|
|
|
|
php7-sockets \
|
|
|
|
|
php7-tidy \
|
|
|
|
|
php7-tokenizer \
|
|
|
|
|
php7-xml \
|
|
|
|
|
php7-xmlwriter \
|
|
|
|
|
php7-zip \
|
|
|
|
|
php7-zlib \
|
|
|
|
|
composer \
|
|
|
|
|
&& echo "Setting up PPM:" \
|
|
|
|
|
&& mkdir -p /ppm/run \
|
|
|
|
|
&& cd /ppm \
|
|
|
|
|
&& chmod -R 777 run/ \
|
2019-05-08 12:04:15 +00:00
|
|
|
&& composer require php-pm/php-pm:${PPM_VERSION} php-pm/httpkernel-adapter:${PPM_HTTP_VERSION} \
|
2019-07-31 20:25:17 +00:00
|
|
|
&& chown www-data:www-data -R . \
|
2018-06-10 14:13:09 +00:00
|
|
|
&& echo "Get BookStack:" \
|
|
|
|
|
&& mkdir -p ${BOOKSTACK_HOME} \
|
|
|
|
|
&& cd ${BOOKSTACK_HOME} \
|
|
|
|
|
&& curl -LJO https://github.com/BookStackApp/BookStack/archive/v${BOOKSTACK_VERSION}.tar.gz \
|
|
|
|
|
&& tar --strip-components=1 -xzf BookStack-${BOOKSTACK_VERSION}.tar.gz \
|
2020-04-08 07:03:52 +00:00
|
|
|
&& rm -rf ${BOOKSTACK}-${BOOKSTACK_VERSION}.tar.gz .env.example .env.example.complete .gitattributes .github .gitignore .travis.yml tests/ public/index.php \
|
2019-07-31 14:12:48 +00:00
|
|
|
&& ln -s init.php bootstrap/autoload.php \
|
2018-06-10 14:13:09 +00:00
|
|
|
&& echo "Get Dependencies:" \
|
|
|
|
|
&& composer install \
|
|
|
|
|
&& echo "Changing ownership:" \
|
2020-04-08 07:23:28 +00:00
|
|
|
&& chown bookstack:bookstack -R . \
|
2020-09-24 08:54:23 +00:00
|
|
|
&& echo "Setting folder permissions for www-data:" \
|
|
|
|
|
&& chown www-data:bookstack -R bootstrap/cache public/uploads storage \
|
2019-07-31 20:25:17 +00:00
|
|
|
&& echo "Ensure www-data got access to Nginx folders:" \
|
2020-09-24 08:54:23 +00:00
|
|
|
&& chown www-data:www-data -R /var/lib/nginx /var/log/nginx \
|
|
|
|
|
&& echo "Giving all system users access to multirun:" \
|
|
|
|
|
&& chmod 0755 /usr/bin/multirun
|
2019-07-31 20:25:17 +00:00
|
|
|
|
|
|
|
|
USER www-data:www-data
|
2018-06-10 14:13:09 +00:00
|
|
|
|
|
|
|
|
WORKDIR $BOOKSTACK_HOME
|
|
|
|
|
|
2019-07-31 20:25:17 +00:00
|
|
|
EXPOSE 8080/tcp
|
2018-06-10 14:13:09 +00:00
|
|
|
|
|
|
|
|
VOLUME ["$BOOKSTACK_HOME/public/uploads", "$BOOKSTACK_HOME/public/storage"]
|
|
|
|
|
|
2020-05-02 16:11:15 +00:00
|
|
|
ENTRYPOINT ["./entrypoint.sh"]
|