@@ -4,32 +4,37 @@ FROM openjdk:8-jre-alpine
4
4
# Dockerfile author / maintainer
5
5
MAINTAINER SourceLab.org <
[email protected] >
6
6
7
- # # Define version to install
8
- ENV WV_VER=1.0.5
7
+ # # Define what version of Kafka Webview to build the image using.
8
+ ENV WEBVIEW_VER="1.0.5" \
9
+ WEBVIEW_SHA1="837e1ea4a91aeb44d65201311aa607ecf3347556" \
10
+ WEBVIEW_HOME="/app"
9
11
10
12
# Create app and data directories
11
- RUN mkdir -p /app
12
- WORKDIR /app
13
-
14
- # Download latest distribution inside image
15
- # Extract package into /app stripping top level directory contained within the zip.
16
- RUN wget https://github.com/SourceLabOrg/kafka-webview/releases/download/v${WV_VER}/kafka-webview-ui-${WV_VER}-bin.zip && \
17
- unzip -d /app kafka-webview-ui-*-bin.zip && \
18
- rm -f /app/kafka-webview-ui-*-bin.zip && \
19
- f=`ls` && \
20
- mv /app/*/* /app && \
21
- rmdir $f && \
22
- rm -f /app/kafka-webview-ui-*-sources.jar && \
23
- rm -f /app/kafka-webview-ui-*-javadoc.jar && \
24
- apk add --update bash && \
13
+ RUN mkdir -p ${WEBVIEW_HOME} && \
14
+ mkdir -p ${WEBVIEW_HOME}/logs && \
15
+ mkdir -p ${WEBVIEW_HOME}/data && \
16
+ apk add --update bash curl && \
25
17
rm -rf /var/cache/apk/*
26
18
19
+ WORKDIR ${WEBVIEW_HOME}
20
+
21
+ # Download KafkaWebview Release from Github project
22
+ RUN curl -fSL -o /tmp/kafka-webview-ui-bin.zip https://github.com/SourceLabOrg/kafka-webview/releases/download/v${WEBVIEW_VER}/kafka-webview-ui-${WEBVIEW_VER}-bin.zip
23
+
24
+ # Verify SHA1 hash and extract.
25
+ RUN echo "${WEBVIEW_SHA1} /tmp/kafka-webview-ui-bin.zip" | sha1sum -c - && \
26
+ unzip -d ${WEBVIEW_HOME} /tmp/kafka-webview-ui-bin.zip && \
27
+ mv ${WEBVIEW_HOME}/kafka-webview-ui-${WEBVIEW_VER}/* ${WEBVIEW_HOME} && \
28
+ rm -rf ${WEBVIEW_HOME}/kafka-webview-ui-${WEBVIEW_VER}/ && \
29
+ rm -f ${WEBVIEW_HOME}/kafka-webview-ui-${WEBVIEW_VER}-sources.jar && \
30
+ rm -f ${WEBVIEW_HOME}/kafka-webview-ui-${WEBVIEW_VER}-javadoc.jar && \
31
+ rm -f /tmp/kafka-webview-ui-bin.zip
32
+
27
33
# Create volume to persist data
28
- VOLUME /app /data
34
+ VOLUME ${WEBVIEW_HOME} /data
29
35
30
36
# Expose port
31
37
EXPOSE 8080
32
38
33
39
# What to run when the container starts
34
- ENTRYPOINT [ "/app/start.sh" ]
35
-
40
+ ENTRYPOINT [ "/app/start.sh" ]
0 commit comments