diff --git a/synapse/Dockerfile b/synapse/Dockerfile index b80314b..6de1576 100644 --- a/synapse/Dockerfile +++ b/synapse/Dockerfile @@ -5,16 +5,12 @@ # # docker build -f docker/Dockerfile . # -# There is an optional PYTHON_VERSION build argument which sets the -# version of python to build against: for example: # -# docker build -f docker/Dockerfile --build-arg PYTHON_VERSION=3.6 . -# - +ARG DEBIAN_VERSION=20210408 ### ### Stage 0: builder ### -FROM docker.io/debian:bullseye-slim as builder +FROM docker.io/debian:bullseye-${DEBIAN_VERSION}-slim as builder # install the OS build deps RUN apt-get update && apt-get install -y \ @@ -27,6 +23,8 @@ RUN apt-get update && apt-get install -y \ libxml++2.6-dev \ libxslt1-dev \ openssl \ + python3-dev \ + cargo \ rustc \ zlib1g-dev \ python3-pip \ @@ -74,7 +72,8 @@ COPY synapse/python_dependencies.py /synapse/synapse/python_dependencies.py # used while you develop on the source # # This is aiming at installing the `install_requires` and `extras_require` from `setup.py` -RUN pip install --prefix="/install" --no-warn-script-location \ +RUN pip install --upgrade pip && \ + pip install --prefix="/install" --no-warn-script-location \ /synapse[all] # Copy over the rest of the project @@ -89,14 +88,14 @@ RUN pip3 install --prefix="/install" --no-deps --no-warn-script-location /synaps ### Stage 1: runtime ### -FROM docker.io/debian:bullseye-slim +FROM docker.io/debian:bullseye-${DEBIAN_VERSION}-slim LABEL org.opencontainers.image.url='https://matrix.org/docs/projects/server/synapse' LABEL org.opencontainers.image.documentation='https://github.com/matrix-org/synapse/blob/master/docker/README.md' LABEL org.opencontainers.image.source='https://github.com/matrix-org/synapse.git' LABEL org.opencontainers.image.licenses='Apache-2.0' -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ gosu \ libjpeg62-turbo \ @@ -152,4 +151,4 @@ EXPOSE 8008/tcp 8009/tcp 8448/tcp ENTRYPOINT ["/start.py"] HEALTHCHECK --interval=1m --timeout=5s \ - CMD curl -fSs http://localhost:8008/health || exit 1 + CMD curl -fSs http://localhost:8008/health || exit 1 \ No newline at end of file diff --git a/synapse/Makefile b/synapse/Makefile index 0c9bfca..3f47c84 100644 --- a/synapse/Makefile +++ b/synapse/Makefile @@ -1,11 +1,11 @@ NAMESPACE=alemairebe VERSION=1.32.2 - IMAGE=synapse -.ONESHELL: # Applies to every targets in the file! push: get decompress build +dev: get decompress build_dev + get: wget https://github.com/matrix-org/synapse/archive/refs/tags/v$(VERSION).tar.gz @@ -17,4 +17,11 @@ build: --cache-from=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \ --cache-to=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \ --tag ${CI_REGISTRY_IMAGE}/${IMAGE}:$(VERSION) \ + --tag ${NAMESPACE}/${IMAGE}:$(VERSION) \ + -f Dockerfile ${IMAGE}-${VERSION} + +build_dev: + docker buildx build --platform linux/amd64,linux/arm64,linux/arm \ + --output type=tar,dest=synapse.tar \ + --tag ${NAMESPACE}/${IMAGE}:$(VERSION) \ -f Dockerfile ${IMAGE}-${VERSION}