aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-10-04 11:33:05 +0100
committerNeil Alexander <neilalexander@users.noreply.github.com>2022-10-04 11:33:05 +0100
commit085bf5e28b49948209b464c5b12c02775e6c1d70 (patch)
tree5bc655d51fddeead16bb19476f4537880b2dd1dd
parent98b73652e00edb8304aa4a3471aa29151f025297 (diff)
Revert Docker changes
-rw-r--r--.github/workflows/dendrite.yml6
-rw-r--r--.github/workflows/docker.yml103
-rw-r--r--Dockerfile99
-rw-r--r--build/docker/Dockerfile.demo-pinecone25
-rw-r--r--build/docker/Dockerfile.monolith25
-rw-r--r--build/docker/Dockerfile.polylith25
-rw-r--r--build/docker/README.md14
-rw-r--r--build/docker/crossbuild.sh68
-rwxr-xr-xbuild/docker/images-build.sh5
-rw-r--r--cmd/dendritejs-pinecone/jsServer.go (renamed from build/dendritejs-pinecone/jsServer.go)0
-rw-r--r--cmd/dendritejs-pinecone/main.go (renamed from build/dendritejs-pinecone/main.go)0
-rw-r--r--cmd/dendritejs-pinecone/main_noop.go (renamed from build/dendritejs-pinecone/main_noop.go)0
-rw-r--r--cmd/dendritejs-pinecone/main_test.go (renamed from build/dendritejs-pinecone/main_test.go)0
13 files changed, 115 insertions, 255 deletions
diff --git a/.github/workflows/dendrite.yml b/.github/workflows/dendrite.yml
index 524d3603..be3c7c17 100644
--- a/.github/workflows/dendrite.yml
+++ b/.github/workflows/dendrite.yml
@@ -284,7 +284,7 @@ jobs:
API: ${{ matrix.api && 1 }}
SYTEST_BRANCH: ${{ github.head_ref }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v2
- name: Run Sytest
run: /bootstrap.sh dendrite
working-directory: /src
@@ -344,8 +344,8 @@ jobs:
sudo apt-get update && sudo apt-get install -y libolm3 libolm-dev
go get -v github.com/haveyoudebuggedit/gotestfmt/v2/cmd/gotestfmt@latest
- - name: Run actions/checkout@v3 for dendrite
- uses: actions/checkout@v3
+ - name: Run actions/checkout@v2 for dendrite
+ uses: actions/checkout@v2
with:
path: dendrite
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index e0db280f..b4e24e52 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -26,27 +26,21 @@ jobs:
packages: write
steps:
- name: Checkout
- uses: actions/checkout@v3
- - name: Get release tag & build flags
+ uses: actions/checkout@v2
+ - name: Get release tag
if: github.event_name == 'release' # Only for GitHub releases
- run: |
- echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- echo "BUILD=$(git rev-parse --short HEAD || "") >> $GITHUB_ENV
- BRANCH=$(git symbolic-ref --short HEAD | tr -d \/)
- [ ${BRANCH} == "main" ] && BRANCH=""
- echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
- echo "FLAGS=\"-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }}\"" >> $GITHUB_ENV
+ run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
- uses: docker/login-action@v2
+ uses: docker/login-action@v1
with:
username: ${{ env.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Login to GitHub Containers
- uses: docker/login-action@v2
+ uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -55,40 +49,27 @@ jobs:
- name: Build main monolith image
if: github.ref_name == 'main'
id: docker_build_monolith
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v2
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- target: monolith
+ file: ./build/docker/Dockerfile.monolith
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
${{ env.DOCKER_NAMESPACE }}/dendrite-monolith:${{ github.ref_name }}
ghcr.io/${{ env.GHCR_NAMESPACE }}/dendrite-monolith:${{ github.ref_name }}
- - name: Run Trivy vulnerability scanner
- uses: aquasecurity/trivy-action@master
- with:
- image-ref: ghcr.io/${{ env.GHCR_NAMESPACE }}/dendrite-monolith:${{ github.ref_name }}
- format: "sarif"
- output: "trivy-results.sarif"
-
- - name: Upload Trivy scan results to GitHub Security tab
- uses: github/codeql-action/upload-sarif@v1
- with:
- sarif_file: "trivy-results.sarif"
-
- name: Build release monolith image
if: github.event_name == 'release' # Only for GitHub releases
id: docker_build_monolith_release
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v2
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- build-args: FLAGS="-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }}"
- target: monolith
+ file: ./build/docker/Dockerfile.monolith
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
@@ -105,27 +86,21 @@ jobs:
packages: write
steps:
- name: Checkout
- uses: actions/checkout@v3
- - name: Get release tag & build flags
+ uses: actions/checkout@v2
+ - name: Get release tag
if: github.event_name == 'release' # Only for GitHub releases
- run: |
- echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- echo "BUILD=$(git rev-parse --short HEAD || "") >> $GITHUB_ENV
- BRANCH=$(git symbolic-ref --short HEAD | tr -d \/)
- [ ${BRANCH} == "main" ] && BRANCH=""
- echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
- echo "FLAGS=\"-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }}\"" >> $GITHUB_ENV
+ run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
- uses: docker/login-action@v2
+ uses: docker/login-action@v1
with:
username: ${{ env.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Login to GitHub Containers
- uses: docker/login-action@v2
+ uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -134,39 +109,27 @@ jobs:
- name: Build main polylith image
if: github.ref_name == 'main'
id: docker_build_polylith
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v2
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- target: polylith
+ file: ./build/docker/Dockerfile.polylith
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
${{ env.DOCKER_NAMESPACE }}/dendrite-polylith:${{ github.ref_name }}
ghcr.io/${{ env.GHCR_NAMESPACE }}/dendrite-polylith:${{ github.ref_name }}
- - name: Run Trivy vulnerability scanner
- uses: aquasecurity/trivy-action@master
- with:
- image-ref: ghcr.io/${{ env.GHCR_NAMESPACE }}/dendrite-polylith:${{ github.ref_name }}
- format: "sarif"
- output: "trivy-results.sarif"
-
- - name: Upload Trivy scan results to GitHub Security tab
- uses: github/codeql-action/upload-sarif@v1
- with:
- sarif_file: "trivy-results.sarif"
-
- name: Build release polylith image
if: github.event_name == 'release' # Only for GitHub releases
id: docker_build_polylith_release
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v2
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- target: polylith
+ file: ./build/docker/Dockerfile.polylith
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
@@ -183,27 +146,21 @@ jobs:
packages: write
steps:
- name: Checkout
- uses: actions/checkout@v3
- - name: Get release tag & build flags
+ uses: actions/checkout@v2
+ - name: Get release tag
if: github.event_name == 'release' # Only for GitHub releases
- run: |
- echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- echo "BUILD=$(git rev-parse --short HEAD || "") >> $GITHUB_ENV
- BRANCH=$(git symbolic-ref --short HEAD | tr -d \/)
- [ ${BRANCH} == "main" ] && BRANCH=""
- echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
- echo "FLAGS=\"-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }}\"" >> $GITHUB_ENV
+ run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
- uses: docker/login-action@v2
+ uses: docker/login-action@v1
with:
username: ${{ env.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Login to GitHub Containers
- uses: docker/login-action@v2
+ uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -212,12 +169,12 @@ jobs:
- name: Build main pinecone demo image
if: github.ref_name == 'main'
id: docker_build_demo_pinecone
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v2
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- target: demo-pinecone
+ file: ./build/docker/Dockerfile.demo-pinecone
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
@@ -227,12 +184,12 @@ jobs:
- name: Build release pinecone demo image
if: github.event_name == 'release' # Only for GitHub releases
id: docker_build_demo_pinecone_release
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v2
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
- target: demo-pinecone
+ file: ./build/docker/Dockerfile.demo-pinecone
platforms: ${{ env.PLATFORMS }}
push: true
tags: |
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index bf583183..00000000
--- a/Dockerfile
+++ /dev/null
@@ -1,99 +0,0 @@
-#syntax=docker/dockerfile:1.2
-
-#
-# base installs required dependencies and runs go mod download to cache dependencies
-#
-FROM --platform=${BUILDPLATFORM} docker.io/golang:1.19-alpine AS base
-RUN apk --update --no-cache add bash build-base curl
-
-#
-# build creates all needed binaries
-#
-FROM base AS build
-WORKDIR /src
-ARG TARGETOS
-ARG TARGETARCH
-ARG FLAGS
-RUN --mount=target=. \
- --mount=type=cache,target=/root/.cache/go-build \
- sh ./build/docker/crossbuild.sh
-
-#
-# The dendrite base image; mainly creates a user and switches to it
-#
-FROM alpine:latest AS dendrite-base
-LABEL org.opencontainers.image.description="Next-generation Matrix homeserver written in Go"
-LABEL org.opencontainers.image.source="https://github.com/matrix-org/dendrite"
-LABEL org.opencontainers.image.licenses="Apache-2.0"
-LABEL org.opencontainers.image.documentation="https://matrix-org.github.io/dendrite/"
-LABEL org.opencontainers.image.vendor="The Matrix.org Foundation C.I.C."
-RUN addgroup dendrite && adduser dendrite -G dendrite -u 1337 -D
-USER dendrite
-WORKDIR /home/dendrite
-
-#
-# Builds the polylith image and only contains the polylith binary
-#
-FROM dendrite-base AS polylith
-LABEL org.opencontainers.image.title="Dendrite (Polylith)"
-
-COPY --from=build /out/dendrite-polylith-multi /usr/bin/
-
-ENTRYPOINT ["/usr/bin/dendrite-polylith-multi"]
-
-#
-# Builds the monolith image and contains all required binaries
-#
-FROM dendrite-base AS monolith
-LABEL org.opencontainers.image.title="Dendrite (Monolith)"
-
-COPY --from=build /out/create-account /usr/bin/create-account
-COPY --from=build /out/generate-config /usr/bin/generate-config
-COPY --from=build /out/generate-keys /usr/bin/generate-keys
-COPY --from=build /out/dendrite-monolith-server /usr/bin/dendrite-monolith-server
-
-ENTRYPOINT ["/usr/bin/dendrite-monolith-server"]
-EXPOSE 8008 8448
-
-#
-# Builds the P2P demo image and contains all required binaries
-#
-FROM dendrite-base AS demo-pinecone
-LABEL org.opencontainers.image.title="Dendrite (P2P Demo)"
-
-COPY --from=build /out/create-account /usr/bin/create-account
-COPY --from=build /out/generate-config /usr/bin/generate-config
-COPY --from=build /out/generate-keys /usr/bin/generate-keys
-COPY --from=build /out/dendrite-demo-pinecone /usr/bin/dendrite-demo-pinecone
-
-VOLUME /etc/dendrite
-WORKDIR /etc/dendrite
-
-ENTRYPOINT ["/usr/bin/dendrite-demo-pinecone"]
-EXPOSE 8008 8448
-
-#
-# Builds the Complement image, used for integration tests
-#
-FROM base AS complement
-LABEL org.opencontainers.image.title="Dendrite (Complement)"
-RUN apk add --no-cache sqlite openssl ca-certificates
-COPY --from=build /out/* /usr/bin/
-RUN rm /usr/bin/dendrite-polylith-multi /usr/bin/dendrite-demo* /usr/bin/dendritejs-pinecone
-
-WORKDIR /dendrite
-RUN /usr/bin/generate-keys --private-key matrix_key.pem && \
- mkdir /ca && \
- openssl genrsa -out /ca/ca.key 2048 && \
- openssl req -new -x509 -key /ca/ca.key -days 3650 -subj "/C=GB/ST=London/O=matrix.org/CN=Complement CA" -out /ca/ca.crt
-
-ENV SERVER_NAME=localhost
-ENV API=0
-EXPOSE 8008 8448
-
-# At runtime, generate TLS cert based on the CA now mounted at /ca
-# At runtime, replace the SERVER_NAME with what we are told
-CMD /usr/bin/generate-keys --server $SERVER_NAME --tls-cert server.crt --tls-key server.key --tls-authority-cert /ca/ca.crt --tls-authority-key /ca/ca.key && \
- /usr/bin/generate-config -server $SERVER_NAME --ci > dendrite.yaml && \
- cp /ca/ca.crt /usr/local/share/ca-certificates/ && update-ca-certificates && \
- /usr/bin/dendrite-monolith-server --really-enable-open-registration --tls-cert server.crt --tls-key server.key --config dendrite.yaml -api=${API:-0} \ No newline at end of file
diff --git a/build/docker/Dockerfile.demo-pinecone b/build/docker/Dockerfile.demo-pinecone
new file mode 100644
index 00000000..133c63c5
--- /dev/null
+++ b/build/docker/Dockerfile.demo-pinecone
@@ -0,0 +1,25 @@
+FROM docker.io/golang:1.19-alpine AS base
+
+RUN apk --update --no-cache add bash build-base
+
+WORKDIR /build
+
+COPY . /build
+
+RUN mkdir -p bin
+RUN go build -trimpath -o bin/ ./cmd/dendrite-demo-pinecone
+RUN go build -trimpath -o bin/ ./cmd/create-account
+RUN go build -trimpath -o bin/ ./cmd/generate-keys
+
+FROM alpine:latest
+LABEL org.opencontainers.image.title="Dendrite (Pinecone demo)"
+LABEL org.opencontainers.image.description="Next-generation Matrix homeserver written in Go"
+LABEL org.opencontainers.image.source="https://github.com/matrix-org/dendrite"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+
+COPY --from=base /build/bin/* /usr/bin/
+
+VOLUME /etc/dendrite
+WORKDIR /etc/dendrite
+
+ENTRYPOINT ["/usr/bin/dendrite-demo-pinecone"]
diff --git a/build/docker/Dockerfile.monolith b/build/docker/Dockerfile.monolith
new file mode 100644
index 00000000..3180e962
--- /dev/null
+++ b/build/docker/Dockerfile.monolith
@@ -0,0 +1,25 @@
+FROM docker.io/golang:1.19-alpine AS base
+
+RUN apk --update --no-cache add bash build-base
+
+WORKDIR /build
+
+COPY . /build
+
+RUN mkdir -p bin
+RUN go build -trimpath -o bin/ ./cmd/dendrite-monolith-server
+RUN go build -trimpath -o bin/ ./cmd/create-account
+RUN go build -trimpath -o bin/ ./cmd/generate-keys
+
+FROM alpine:latest
+LABEL org.opencontainers.image.title="Dendrite (Monolith)"
+LABEL org.opencontainers.image.description="Next-generation Matrix homeserver written in Go"
+LABEL org.opencontainers.image.source="https://github.com/matrix-org/dendrite"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+
+COPY --from=base /build/bin/* /usr/bin/
+
+VOLUME /etc/dendrite
+WORKDIR /etc/dendrite
+
+ENTRYPOINT ["/usr/bin/dendrite-monolith-server"]
diff --git a/build/docker/Dockerfile.polylith b/build/docker/Dockerfile.polylith
new file mode 100644
index 00000000..79f8a5f2
--- /dev/null
+++ b/build/docker/Dockerfile.polylith
@@ -0,0 +1,25 @@
+FROM docker.io/golang:1.19-alpine AS base
+
+RUN apk --update --no-cache add bash build-base
+
+WORKDIR /build
+
+COPY . /build
+
+RUN mkdir -p bin
+RUN go build -trimpath -o bin/ ./cmd/dendrite-polylith-multi
+RUN go build -trimpath -o bin/ ./cmd/create-account
+RUN go build -trimpath -o bin/ ./cmd/generate-keys
+
+FROM alpine:latest
+LABEL org.opencontainers.image.title="Dendrite (Polylith)"
+LABEL org.opencontainers.image.description="Next-generation Matrix homeserver written in Go"
+LABEL org.opencontainers.image.source="https://github.com/matrix-org/dendrite"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+
+COPY --from=base /build/bin/* /usr/bin/
+
+VOLUME /etc/dendrite
+WORKDIR /etc/dendrite
+
+ENTRYPOINT ["/usr/bin/dendrite-polylith-multi"]
diff --git a/build/docker/README.md b/build/docker/README.md
index 14a9c859..261519fd 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -9,15 +9,11 @@ They can be found on Docker Hub:
## Dockerfiles
-The `Dockerfile` is a multistage file which can build all three Dendrite
-images depending on the supplied `--target`. From the root of the Dendrite
-repository, run:
-
-```
-docker build . --target monolith -t matrixdotorg/dendrite-monolith
-docker build . --target polylith -t matrixdotorg/dendrite-monolith
-docker build . --target demo-pinecone -t matrixdotorg/dendrite-monolith
-```
+The `Dockerfile` builds the base image which contains all of the Dendrite
+components. The `Dockerfile.component` file takes the given component, as
+specified with `--buildarg component=` from the base image and produce
+smaller component-specific images, which are substantially smaller and do
+not contain the Go toolchain etc.
## Compose files
diff --git a/build/docker/crossbuild.sh b/build/docker/crossbuild.sh
deleted file mode 100644
index 957893a0..00000000
--- a/build/docker/crossbuild.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-set -e
-
-# In order to cross-compile with the multi-stage Docker builds, we need to
-# ensure that the suitable toolchain for cross-compiling is installed. Since
-# the images are Alpine-based, we will use musl. Download and install the
-# toolchain inside the build container.
-
-USERARCH=`go env GOARCH`
-GOARCH="$TARGETARCH"
-GOOS="linux"
-
-echo "Target arch: $TARGETARCH"
-echo "User arch: $USERARCH"
-echo "Link flags: $FLAGS"
-
-if [ "$TARGETARCH" != "$USERARCH" ]; then
- if [ "$USERARCH" != "amd64" ]; then
- echo "Cross-compiling only supported on amd64"
- exit 1
- fi
-
- echo "Cross compile"
- case $GOARCH in
- arm64)
- curl -s https://more.musl.cc/x86_64-linux-musl/aarch64-linux-musl-cross.tgz | tar xz --strip-components=1 -C /usr
- export CC=aarch64-linux-musl-gcc
- ;;
-
- amd64)
- curl -s https://more.musl.cc/x86_64-linux-musl/x86_64-linux-musl-cross.tgz | tar xz --strip-components=1 -C /usr
- export CC=x86_64-linux-musl-gcc
- ;;
-
- 386)
- curl -s https://more.musl.cc/x86_64-linux-musl/i686-linux-musl-cross.tgz | tar xz --strip-components=1 -C /usr
- export CC=i686-linux-musl-gcc
- ;;
-
- arm)
- curl -s https://more.musl.cc/x86_64-linux-musl/armv7l-linux-musleabihf-cross.tgz | tar xz --strip-components=1 -C /usr
- export CC=armv7l-linux-musleabihf-gcc
- ;;
-
- s390x)
- curl -s https://more.musl.cc/x86_64-linux-musl/s390x-linux-musl-cross.tgz | tar xz --strip-components=1 -C /usr
- export CC=s390x-linux-musl-gcc
- ;;
-
- ppc64le)
- curl -s https://more.musl.cc/x86_64-linux-musl/powerpc64le-linux-musl-cross.tgz | tar xz --strip-components=1 -C /usr
- export CC=powerpc64le-linux-musl-gcc
- ;;
-
- *)
- echo "Unsupported GOARCH=${GOARCH}"
- exit 1
- ;;
- esac
-else
- echo "Native compile"
-fi
-
-# Output the go environment just in case it is useful for debugging.
-go env
-
-# Build Dendrite and tools, statically linking them.
-CGO_ENABLED=1 go build -v -ldflags="-linkmode external -extldflags -static ${FLAGS}" -trimpath -o /out/ ./cmd/...
diff --git a/build/docker/images-build.sh b/build/docker/images-build.sh
index 1a832615..c2c14068 100755
--- a/build/docker/images-build.sh
+++ b/build/docker/images-build.sh
@@ -6,6 +6,5 @@ TAG=${1:-latest}
echo "Building tag '${TAG}'"
-docker build . --target monolith -t matrixdotorg/dendrite-monolith:${TAG}
-docker build . --target polylith -t matrixdotorg/dendrite-monolith:${TAG}
-docker build . --target demo-pinecone -t matrixdotorg/dendrite-demo-pinecone:${TAG} \ No newline at end of file
+docker build -t matrixdotorg/dendrite-monolith:${TAG} -f build/docker/Dockerfile.monolith .
+docker build -t matrixdotorg/dendrite-polylith:${TAG} -f build/docker/Dockerfile.polylith . \ No newline at end of file
diff --git a/build/dendritejs-pinecone/jsServer.go b/cmd/dendritejs-pinecone/jsServer.go
index 4298c2ae..4298c2ae 100644
--- a/build/dendritejs-pinecone/jsServer.go
+++ b/cmd/dendritejs-pinecone/jsServer.go
diff --git a/build/dendritejs-pinecone/main.go b/cmd/dendritejs-pinecone/main.go
index e070173a..e070173a 100644
--- a/build/dendritejs-pinecone/main.go
+++ b/cmd/dendritejs-pinecone/main.go
diff --git a/build/dendritejs-pinecone/main_noop.go b/cmd/dendritejs-pinecone/main_noop.go
index 0cc7e47e..0cc7e47e 100644
--- a/build/dendritejs-pinecone/main_noop.go
+++ b/cmd/dendritejs-pinecone/main_noop.go
diff --git a/build/dendritejs-pinecone/main_test.go b/cmd/dendritejs-pinecone/main_test.go
index 17fea6cc..17fea6cc 100644
--- a/build/dendritejs-pinecone/main_test.go
+++ b/cmd/dendritejs-pinecone/main_test.go