Standard Energy Efficiency Data (SEED) Platform™ is a web-based application that helps organizations easily manage data on the energy performance of large groups of buildings.
Describe the bug
With the latest release, the compressed Docker images have ballooned to 1.13 GB. We should be publishing minimal Docker images using multi-stage builds to remove development dependencies, and only keep the development dependencies when running tests via CI.
Expected Behavior
The size, and contents, of the Docker image should be the minimal amount necessary to run SEED
Actual Behavior
The Docker image has 25 layers, and is bloated with development dependencies, weighing in at 1.13 GB compressed, 2.8 GB uncompressed.
Layers
Size
Layer Command
5.6 MB
ADD file:9663235f252e072c52b0f9e25845841e4321cce2caa7467a0d736c6003b05c00 in /
RUN |1 NGINX_LISTEN_OPTS= RUN apk add --no-cache gettext && if [ -z "${NGINX_LISTEN_OPTS}" ]; then echo "NGINX_LISTEN_OPTS is unset or empty, defaulting to: HTTP1.1"; else echo "NGINX_LISTEN_OPTS is set to: ${NGINX_LISTEN_OPTS}"; fi && envsubst '${NGINX_LISTEN_OPTS}' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf # buildkit
0 B
RUN |1 NGINX_LISTEN_OPTS= RUN ln -sf /seed/collected_static/maintenance.html /var/lib/nginx/html/maintenance.html # buildkit
0 B
RUN |1 NGINX_LISTEN_OPTS= RUN chmod +x ./docker/maintenance.sh # buildkit
Describe the bug With the latest release, the compressed Docker images have ballooned to 1.13 GB. We should be publishing minimal Docker images using multi-stage builds to remove development dependencies, and only keep the development dependencies when running tests via CI.
Expected Behavior The size, and contents, of the Docker image should be the minimal amount necessary to run SEED
Actual Behavior The Docker image has 25 layers, and is bloated with development dependencies, weighing in at 1.13 GB compressed, 2.8 GB uncompressed.
Layers