This increases the size of the container image, but reduces the reliance on the external volume for loading application data. This couples the application code to the container image rather than to the container state.
29 lines
751 B
Docker
29 lines
751 B
Docker
FROM docker.io/library/debian:latest AS unpack
|
|
|
|
RUN apt-get update --yes
|
|
RUN apt-get install unzip --yes
|
|
RUN mkdir --parents /download
|
|
|
|
WORKDIR /download
|
|
|
|
ADD https://download.nextcloud.com/server/releases/latest.zip /download/latest.zip
|
|
RUN unzip latest.zip
|
|
|
|
FROM docker.io/library/nginx:latest AS final
|
|
|
|
ENV NEXTCLOUD_DOMAIN=example.com
|
|
ENV NEXTCLOUD_PHP_FPM_HOST=php-fpm-nextcloud:9000
|
|
ENV NEXTCLOUD_MAX_UPLOAD_SIZE=512M
|
|
|
|
ADD nginx.conf.template /nginx.conf.template
|
|
ADD docker-entrypoint.sh /docker-entrypoint.sh
|
|
|
|
RUN mkdir --parents /var/www/html
|
|
WORKDIR /var/www/html
|
|
|
|
COPY --from=unpack /download/nextcloud /var/www/html/nextcloud
|
|
RUN chown -R root:root nextcloud/
|
|
RUN chmod -R 0755 nextcloud/
|
|
|
|
ENTRYPOINT ["sh", "-c", "/docker-entrypoint.sh"]
|