summaryrefslogtreecommitdiff
path: root/contrib/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/Dockerfile')
-rw-r--r--contrib/Dockerfile46
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/Dockerfile b/contrib/Dockerfile
new file mode 100644
index 00000000..f5446e77
--- /dev/null
+++ b/contrib/Dockerfile
@@ -0,0 +1,46 @@
+FROM composer AS composer
+COPY composer.json /app/
+RUN composer --no-ansi install --no-dev --ignore-platform-reqs
+RUN composer --no-ansi dump-autoload --optimize
+
+FROM node:8-alpine as themes
+WORKDIR /app
+COPY frontend/ /app/frontend
+COPY .babelrc package.json webpack.config.js /app/
+RUN apk add --no-cache yarn
+RUN yarn install
+RUN yarn build
+
+# Intermediate container for less layers
+FROM alpine as data
+COPY bin/ /app/bin
+COPY config/ /app/config
+COPY db/ /app/db
+COPY includes/ /app/includes
+COPY locale/ /app/locale
+COPY public/ /app/public
+COPY src/ /app/src
+COPY templates/ /app/templates
+
+COPY composer.json LICENSE package.json README.md /app/
+
+COPY --from=composer /app/vendor/ /app/vendor
+COPY --from=composer /app/composer.lock /app/
+
+COPY --from=themes /app/public/assets /app/public/assets
+COPY --from=themes /app/yarn.lock /app/
+
+RUN rm -f /app/config/config.php
+
+FROM php:7-fpm-alpine
+WORKDIR /var/www
+COPY --from=data /app/ /var/www
+RUN apk add --no-cache icu-dev gettext-dev && \
+ docker-php-ext-install intl gettext pdo_mysql && \
+ rm -r /var/www/html
+
+ENV TRUSTED_PROXIES 10.0.0.0/8,::ffff:10.0.0.0/8,\
+ 127.0.0.0/8,::ffff:127.0.0.0/8,\
+ 172.16.0.0/12,::ffff:172.16.0.0/12,\
+ 192.168.0.0/16,::ffff:192.168.0.0/16,\
+ ::1/128,fc00::/7,fec0::/10