diff --git a/build-debezium-multiplatform.sh b/build-debezium-multiplatform.sh index 14521a57..c908315a 100755 --- a/build-debezium-multiplatform.sh +++ b/build-debezium-multiplatform.sh @@ -128,6 +128,7 @@ build_docker_image operator build_docker_image platform-conductor if [[ "$SKIP_UI" != "true" ]]; then build_docker_image debezium-ui ui + build_docker_image platform-stage fi build_docker_image example-mysql examples/mysql build_docker_image example-mysql-gtids examples/mysql-gtids diff --git a/build-debezium.sh b/build-debezium.sh index f5be0076..7e09a6f7 100755 --- a/build-debezium.sh +++ b/build-debezium.sh @@ -107,6 +107,7 @@ build_docker_image platform-conductor build_docker_image operator if [[ "$SKIP_UI" != "true" ]]; then build_docker_image debezium-ui ui + build_docker_image platform-stage fi echo "" diff --git a/platform-stage/3.1/Dockerfile b/platform-stage/3.1/Dockerfile new file mode 100644 index 00000000..3fe42954 --- /dev/null +++ b/platform-stage/3.1/Dockerfile @@ -0,0 +1,44 @@ +#### +# This Dockerfile is used in order to build a container with Debezium platform UI. +### +ARG VERSION=main + +# Clone the repository +FROM registry.access.redhat.com/ubi9/ubi-minimal AS cloner +ARG VERSION +WORKDIR /app +RUN microdnf install -y git && \ + git clone https://github.com/debezium/debezium-platform.git && \ + cd debezium-platform && \ + git checkout ${VERSION} && \ + cd debezium-platform-stage + +# Build the application +FROM registry.access.redhat.com/ubi9/nodejs-20 AS builder +USER root +RUN mkdir -p /app && chown 1001:1001 /app +USER 1001 +RUN npm install -g yarn + +WORKDIR /app +COPY --from=cloner /app/debezium-platform/debezium-platform-stage/package.json /app/ +COPY --from=cloner /app/debezium-platform/debezium-platform-stage/yarn.lock /app/ +RUN yarn install + +COPY --from=cloner /app/debezium-platform/debezium-platform-stage /app +RUN yarn build + +# Final image +FROM mirror.gcr.io/library/node:20-alpine +RUN yarn global add serve + +WORKDIR /app +COPY --from=builder /app/dist /app/dist +COPY --from=cloner /app/debezium-platform/debezium-platform-stage/inject-env.sh /inject-env.sh +RUN chmod +x /inject-env.sh + +LABEL maintainer="Debezium Community" \ + description="Debezium Platform Stage UI" + +EXPOSE 3000 +CMD ["/inject-env.sh"] \ No newline at end of file diff --git a/platform-stage/snapshot/Dockerfile b/platform-stage/snapshot/Dockerfile new file mode 100644 index 00000000..3fe42954 --- /dev/null +++ b/platform-stage/snapshot/Dockerfile @@ -0,0 +1,44 @@ +#### +# This Dockerfile is used in order to build a container with Debezium platform UI. +### +ARG VERSION=main + +# Clone the repository +FROM registry.access.redhat.com/ubi9/ubi-minimal AS cloner +ARG VERSION +WORKDIR /app +RUN microdnf install -y git && \ + git clone https://github.com/debezium/debezium-platform.git && \ + cd debezium-platform && \ + git checkout ${VERSION} && \ + cd debezium-platform-stage + +# Build the application +FROM registry.access.redhat.com/ubi9/nodejs-20 AS builder +USER root +RUN mkdir -p /app && chown 1001:1001 /app +USER 1001 +RUN npm install -g yarn + +WORKDIR /app +COPY --from=cloner /app/debezium-platform/debezium-platform-stage/package.json /app/ +COPY --from=cloner /app/debezium-platform/debezium-platform-stage/yarn.lock /app/ +RUN yarn install + +COPY --from=cloner /app/debezium-platform/debezium-platform-stage /app +RUN yarn build + +# Final image +FROM mirror.gcr.io/library/node:20-alpine +RUN yarn global add serve + +WORKDIR /app +COPY --from=builder /app/dist /app/dist +COPY --from=cloner /app/debezium-platform/debezium-platform-stage/inject-env.sh /inject-env.sh +RUN chmod +x /inject-env.sh + +LABEL maintainer="Debezium Community" \ + description="Debezium Platform Stage UI" + +EXPOSE 3000 +CMD ["/inject-env.sh"] \ No newline at end of file