34 lines
740 B
Docker
34 lines
740 B
Docker
|
FROM alpine as build
|
||
|
|
||
|
RUN apk add --no-cache gcc g++ musl-dev linux-headers cmake openssl-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
|
||
|
RUN [ "make" ]
|
||
|
|
||
|
FROM alpine as runtime
|
||
|
|
||
|
RUN apk add --no-cache libstdc++
|
||
|
|
||
|
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
|
||
|
|
||
|
# Now run in usermode
|
||
|
USER app
|
||
|
WORKDIR /home/app
|
||
|
|
||
|
ENTRYPOINT ["ws"]
|
||
|
CMD ["--help"]
|