Skip to content

Commit cd83891

Browse files
authored
Merge branch 'SensorsIot:master' into IOBroker
2 parents 9728062 + 7d1400f commit cd83891

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+3712
-1929
lines changed

.templates/blynk_server/Dockerfile

Lines changed: 69 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,75 @@
1-
FROM adoptopenjdk/openjdk14
2-
MAINTAINER 877dev <[email protected]>
1+
# Acknowledgements:
2+
# Based on:
3+
# https://github.com/SensorsIot/IOTstack/blob/master/.templates/blynk_server/Dockerfile
4+
# (as at commit ID 4dff89c1bb6a5b1c01d3c087dcb662256a0c050f)
5+
# Borrows from:
6+
# https://github.com/Peterkn2001/blynk-server/blob/master/server/Docker/Dockerfile
7+
# (as at commit ID 889c7e55161832e21264d993d9fa5abd1c015e1c)
38

4-
#RUN apt-get update
5-
#RUN apt-get install -y apt-utils
6-
#RUN apt-get install -y default-jdk curl
9+
FROM ubuntu
710

8-
ENV BLYNK_SERVER_VERSION 0.41.16
9-
RUN mkdir /blynk
10-
RUN curl -L https://github.com/blynkkk/blynk-server/releases/download/v${BLYNK_SERVER_VERSION}/server-${BLYNK_SERVER_VERSION}.jar > /blynk/server.jar
11+
# declare the version to be built, defaulting to 0.41.16 (which is
12+
# current as of 2021-10-22)
13+
ARG BLYNK_SERVER_VERSION=0.41.16
1114

12-
# Create data folder. To persist data, map a volume to /data
13-
RUN mkdir /data
15+
# form the download URL
16+
ENV BLYNK_SERVER_URL=https://github.com/Peterkn2001/blynk-server/releases/download/v${BLYNK_SERVER_VERSION}/server-${BLYNK_SERVER_VERSION}.jar
1417

15-
# Create configuration folder. To persist data, map a file to /config/server.properties
16-
RUN mkdir /config && touch /config/server.properties
17-
VOLUME ["/config", "/data/backup"]
18+
# Add support packages to the base image
19+
RUN apt-get update \
20+
&& apt-get install -y \
21+
apt-utils \
22+
libreadline8 \
23+
libreadline-dev \
24+
&& apt-get install -y \
25+
curl \
26+
libxrender1 \
27+
maven \
28+
openjdk-11-jdk \
29+
rsync
1830

19-
# IP port listing:
20-
# 8080: Hardware without ssl/tls support
21-
# 9443: Blynk app, https, web sockets, admin port
22-
EXPOSE 8080 9443
31+
# Add IOTstack-specific support
32+
ENV IOTSTACK_DEFAULTS_DIR="iotstack_defaults"
33+
ENV IOTSTACK_ENTRY_POINT="docker-entrypoint.sh"
34+
COPY ${IOTSTACK_DEFAULTS_DIR} /${IOTSTACK_DEFAULTS_DIR}
35+
COPY ${IOTSTACK_ENTRY_POINT} /${IOTSTACK_ENTRY_POINT}
36+
RUN chmod 755 /${IOTSTACK_ENTRY_POINT}
2337

24-
WORKDIR /data
25-
ENTRYPOINT ["java", "-jar", "/blynk/server.jar", "-dataFolder", "/data", "-serverConfig", "/config/server.properties", "-mailConfig", "/config/mail.properties"]
38+
# define well-known paths
39+
ENV IOTSTACK_DATA_DIR="/data"
40+
ENV IOTSTACK_CONF_DIR="/config"
41+
ENV IOTSTACK_JAVA_DIR="/blynk"
42+
43+
# Create and populate expected folders
44+
RUN mkdir -p ${IOTSTACK_DATA_DIR} ${IOTSTACK_JAVA_DIR} \
45+
&& curl -L ${BLYNK_SERVER_URL} >"${IOTSTACK_JAVA_DIR}/server.jar"
46+
47+
# declare expected mapped volumes
48+
VOLUME ["${IOTSTACK_CONF_DIR}", "${IOTSTACK_DATA_DIR}"]
49+
50+
# Expose assumed internal ports:
51+
# 8080 http.port
52+
# 8440 hardware.mqtt.port
53+
# 9443 https.port
54+
EXPOSE 8080 8440 9443
55+
56+
# set the working directory
57+
WORKDIR ${IOTSTACK_DATA_DIR}
58+
59+
# define launch procedure
60+
ENTRYPOINT ["/docker-entrypoint.sh"]
61+
CMD ["java", "-jar", "/blynk/server.jar", "-dataFolder", "/data", "-serverConfig", "/config/server.properties", "-mailConfig", "/config/mail.properties"]
62+
63+
# supplement image metadata
64+
LABEL blynk-server.version=${BLYNK_SERVER_VERSION}
65+
LABEL blynk-server.url=${BLYNK_SERVER_URL}
66+
LABEL com.github.SensorsIot.IOTstack.Dockerfile.maintainer="877dev <[email protected]>"
67+
LABEL com.github.Peterkn2001.blynk-server.Dockerfile.maintainer="Florian Mauduit <[email protected]>"
68+
69+
# unset variables that are not needed by docker-entrypoint.sh
70+
ENV IOTSTACK_ENTRY_POINT=
71+
ENV IOTSTACK_DATA_DIR=
72+
ENV IOTSTACK_JAVA_DIR=
73+
ENV BLYNK_SERVER_URL=
74+
75+
# EOF

0 commit comments

Comments
 (0)