d09bce7267
* Moves speckle-server, webhook-service, fileimport-service, monitoring-deployment, and test-deployment images to Distroless. Partially addresses https://github.com/specklesystems/speckle-server/issues/883 * preview-service uses similar image for building and production stages * explicitly include chromium-common dependency to prevent error in preview service * Bump chromium packages due to package versions not being found * Handle machine-id in distroless - distroless has no shell, so node-machine-id will result in an error - this commit introduces error handling and defaults to a uuid v4 in the case of an error * Update binary location for readiness and liveness checks to match the binary location in Distroless * Allow node binary path to be set as environment variable in fileimport service
21 lines
714 B
Docker
21 lines
714 B
Docker
FROM debian:11-slim AS build-stage
|
|
WORKDIR /venv
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install \
|
|
--no-install-suggests --no-install-recommends --yes \
|
|
python3-venv=3.9.2-3 && \
|
|
python3 -m venv /venv
|
|
|
|
COPY utils/test-deployment/requirements.txt /requirements.txt
|
|
RUN /venv/bin/pip install --disable-pip-version-check --requirement /requirements.txt
|
|
|
|
FROM gcr.io/distroless/python3-debian11:nonroot as production-stage
|
|
ARG SPECKLE_SERVER
|
|
ARG SPECKLE_VERSION
|
|
ENV SPECKLE_SERVER=${SPECKLE_SERVER} \
|
|
SPECKLE_SERVER=${SPECKLE_VERSION}
|
|
COPY --from=build-stage /venv /venv
|
|
COPY utils/test-deployment /app
|
|
WORKDIR /app
|
|
ENTRYPOINT [ "/venv/bin/python3", "-u", "./run_tests.py" ]
|