IXWebSocket/docker/Dockerfile.alpine

39 lines
914 B
Docker
Raw Normal View History

FROM alpine:3.11 as build
2020-03-28 01:38:35 +01:00
RUN apk add --no-cache gcc g++ musl-dev linux-headers cmake mbedtls-dev
RUN apk add --no-cache make
RUN apk add --no-cache zlib-dev
RUN addgroup -S app && adduser -S -G app app
RUN chown -R app:app /opt
RUN chown -R app:app /usr/local
# There is a bug in CMake where we cannot build from the root top folder
# So we build from /opt
COPY --chown=app:app . /opt
WORKDIR /opt
USER app
2020-03-28 01:38:35 +01:00
RUN [ "make", "ws_mbedtls_install" ]
RUN [ "rm", "-rf", "build" ]
FROM alpine:3.11 as runtime
2020-03-28 01:38:35 +01:00
RUN apk add --no-cache libstdc++ mbedtls
RUN apk add --no-cache ca-certificates
RUN addgroup -S app && adduser -S -G app app
COPY --chown=app:app --from=build /usr/local/bin/ws /usr/local/bin/ws
RUN chmod +x /usr/local/bin/ws
RUN ldd /usr/local/bin/ws
# Copy source code for gcc
COPY --chown=app:app --from=build /opt /opt
# Now run in usermode
USER app
WORKDIR /home/app
ENTRYPOINT ["ws"]
EXPOSE 8008