|
@@ -1,10 +1,29 @@
|
|
|
-FROM alpine:3.5
|
|
|
-RUN apk add --no-cache cmake gcc g++ musl-dev python py-pip make && rm -rf /var/cache/apk/*
|
|
|
-ADD . /tmp/open62541
|
|
|
-WORKDIR /tmp/open62541/build
|
|
|
-RUN cmake -DUA_ENABLE_AMALGAMATION=true \
|
|
|
- -DBUILD_SHARED_LIBS=true \
|
|
|
- /tmp/open62541
|
|
|
+FROM alpine:3.10
|
|
|
+RUN apk add --no-cache cmake gcc git g++ musl-dev mbedtls-dev python py-pip make && rm -rf /var/cache/apk/*
|
|
|
+ADD . /opt/open62541
|
|
|
+WORKDIR /opt/open62541
|
|
|
+RUN git submodule update --init --recursive
|
|
|
+WORKDIR /opt/open62541/build
|
|
|
+RUN cmake -DBUILD_SHARED_LIBS=ON \
|
|
|
+ -DCMAKE_BUILD_TYPE=Debug \
|
|
|
+ -DUA_BUILD_EXAMPLES=ON \
|
|
|
+ # Hardening needs to be disabled, otherwise the docker build takes too long and travis fails
|
|
|
+ -DUA_ENABLE_HARDENING=OFF \
|
|
|
+ -DUA_ENABLE_ENCRYPTION=ON \
|
|
|
+ -DUA_ENABLE_SUBSCRIPTIONS=ON \
|
|
|
+ -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON \
|
|
|
+ -DUA_NAMESPACE_ZERO=FULL \
|
|
|
+ /opt/open62541
|
|
|
RUN make -j
|
|
|
-RUN cp *.h /usr/include/ && \
|
|
|
- cp bin/*.so /usr/lib
|
|
|
+RUN make install
|
|
|
+
|
|
|
+# Generate certificates
|
|
|
+RUN apk add --no-cache python-dev linux-headers openssl && rm -rf /var/cache/apk/*
|
|
|
+RUN pip install netifaces==0.10.9
|
|
|
+RUN mkdir -p /opt/open62541/pki/created
|
|
|
+RUN python /opt/open62541/tools/certs/create_self-signed.py /opt/open62541/pki/created
|
|
|
+
|
|
|
+
|
|
|
+WORKDIR /opt/open62541
|
|
|
+EXPOSE 4840
|
|
|
+CMD ["/opt/open62541/build/bin/examples/server_ctt" , "/opt/open62541/pki/created/server_cert.der", "/opt/open62541/pki/created/server_key.der", "--enableUnencrypted", "--enableAnonymous"]
|