alnoda-workspaces/workspaces/kafka-workspace/Dockerfile

80 lines
3.4 KiB
Docker
Raw Normal View History

2022-01-13 05:57:34 +13:00
ARG BUILD_IMAGE=node:12.18.3
2022-09-09 09:40:57 +12:00
ARG MAIN_IMAGE=alnoda/extended-workspace:4.0
################################################################################ BUILD THEIA
2022-01-13 05:57:34 +13:00
FROM ${BUILD_IMAGE}
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y apt-utils \
&& apt-get install -y git \
&& apt-get install -y libsecret-1-dev \
&& mkdir /opt/theia
WORKDIR /opt/theia
2022-09-09 09:40:57 +12:00
ADD theia_package.json ./package.json
2022-01-13 05:57:34 +13:00
ARG GITHUB_TOKEN
RUN yarn --pure-lockfile && \
NODE_OPTIONS="--max_old_space_size=4096" yarn theia build && \
yarn theia download:plugins && \
yarn --production && \
yarn autoclean --init && \
echo *.ts >> .yarnclean && \
echo *.ts.map >> .yarnclean && \
echo *.spec.* >> .yarnclean && \
yarn autoclean --force && \
yarn cache clean
2022-09-09 09:40:57 +12:00
################################################################################ WORKSPACE IMAGE
FROM ${MAIN_IMAGE}
# Replace Theia with the new build, which includes additional pre-installed extensions
# To do this, the existing Theia folder will be deleted, and new copied from the build stage
ENV THEIA_DIR="/home/abc/apps/theia"
RUN rm -rf $THEIA_DIR \
&& mkdir "$THEIA_DIR" \
&& cd $THEIA_DIR && nodeenv --node=12.18.3 env && . env/bin/activate
# Copy built Theia from the build image
COPY --from=0 --chown=abc:abc /opt/theia $THEIA_DIR
RUN echo "------------------------------------------------------ openjdk" \
&& sudo apt-get -y update \
&& sudo apt-get install -y openjdk-17-jre \
2022-01-13 05:57:34 +13:00
&& echo "------------------------------------------------------ kafka" \
&& cd /tmp && wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz \
&& tar -xzf kafka_2.13-3.1.0.tgz \
2022-09-09 09:40:57 +12:00
&& mv kafka_2.13-3.1.0 /home/abc/kafka \
&& rm kafka_2.13-3.1.0.tgz \
2022-01-13 05:57:34 +13:00
&& echo "------------------------------------------------------ kafkacat" \
2022-09-09 09:40:57 +12:00
&& sudo apt-get -y install kafkacat \
2022-01-13 05:57:34 +13:00
&& echo "------------------------------------------------------ kt" \
&& cd /tmp && wget https://github.com/fgeller/kt/releases/download/v13.0.0/kt-v13.0.0-linux-amd64.txz \
&& tar Jxvf kt-v13.0.0-linux-amd64.txz \
&& chmod +x /tmp/kt \
2022-09-09 09:40:57 +12:00
&& mv /tmp/kt /home/abc/.local/bin/kt \
2022-01-13 05:57:34 +13:00
&& rm /tmp/kt-v13.0.0-linux-amd64.txz \
&& echo "------------------------------------------------------ kafkactl" \
&& cd /tmp && wget https://github.com/deviceinsight/kafkactl/releases/download/v1.24.0/kafkactl_1.24.0_linux_386.tar.gz \
&& tar -xzf kafkactl_1.24.0_linux_386.tar.gz \
&& chmod +x /tmp/kafkactl \
2022-09-09 09:40:57 +12:00
&& mv /tmp/kafkactl /home/abc/.local/bin/kafkactl \
2022-01-13 05:57:34 +13:00
&& rm /tmp/kafkactl_1.24.0_linux_386.tar.gz \
&& echo "------------------------------------------------------ kcli" \
&& cd /tmp && wget https://github.com/cswank/kcli/releases/download/1.8.3/kcli_1.8.3_Linux_x86_64.tar.gz \
&& tar -xzf kcli_1.8.3_Linux_x86_64.tar.gz \
&& chmod +x /tmp/kcli \
2022-09-09 09:40:57 +12:00
&& mv /tmp/kcli /home/abc/.local/bin/kcli \
2022-01-13 05:57:34 +13:00
&& rm kcli_1.8.3_Linux_x86_64.tar.gz \
&& echo "------------------------------------------------------ trubka" \
&& cd /tmp && wget https://github.com/xitonix/trubka/releases/download/v3.2.1/trubka_3.2.1_linux_amd64.tar.gz \
&& tar -xzf trubka_3.2.1_linux_amd64.tar.gz \
&& chmod +x /tmp/trubka \
2022-09-09 09:40:57 +12:00
&& mv /tmp/trubka /home/abc/.local/bin/trubka \
&& rm trubka_3.2.1_linux_amd64.tar.gz
2022-09-09 09:40:57 +12:00
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
ENV PATH="/usr/lib/jvm/java-17-openjdk-amd64/bin:$PATH"
2022-01-13 05:57:34 +13:00
USER abc