Add Dockerfile
Signed-off-by: Sebastian Hasler <sebastian.hasler@stuvus.uni-stuttgart.de>master
parent
cfae6178c7
commit
98b00a396b
|
@ -0,0 +1,38 @@
|
||||||
|
FROM rust:1.48-alpine AS build
|
||||||
|
|
||||||
|
ARG REV=master
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
clang-libs \
|
||||||
|
curl \
|
||||||
|
libc-dev \
|
||||||
|
libnice-dev \
|
||||||
|
openssl-dev \
|
||||||
|
;
|
||||||
|
WORKDIR /src
|
||||||
|
RUN curl https://codeload.github.com/Johni0702/mumble-web-proxy/tar.gz/$REV \
|
||||||
|
| tar -xzf - --strip-components 1
|
||||||
|
RUN echo -e '\n[dependencies."async-trait"]\ndefault-features = false' >> Cargo.toml
|
||||||
|
RUN RUSTFLAGS="-C target-feature=-crt-static" cargo install --path .
|
||||||
|
|
||||||
|
FROM alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
bash \
|
||||||
|
libgcc \
|
||||||
|
libnice \
|
||||||
|
;
|
||||||
|
COPY --from=build /usr/local/cargo/bin/mumble-web-proxy /mumble-web-proxy
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
|
ENV MWP_LISTEN_WS=64737
|
||||||
|
ENV MWP_SERVER=mumble-server:64738
|
||||||
|
ENV MWP_ACCEPT_INVALID_CERTIFICATE=
|
||||||
|
ENV MWP_ICE_PORT_MIN=
|
||||||
|
ENV MWP_ICE_PORT_MAX=
|
||||||
|
ENV MWP_ICE_IPV4=
|
||||||
|
ENV MWP_ICE_IPV6=
|
||||||
|
|
||||||
|
CMD ["/entrypoint.sh"]
|
||||||
|
USER 1000
|
||||||
|
EXPOSE 64737
|
|
@ -0,0 +1,13 @@
|
||||||
|
# mumble-web-proxy OCI image
|
||||||
|
|
||||||
|
This directory provides files to build a mumble-web-proxy OCI image.
|
||||||
|
The image is based on Alpine Linux and is less than 30 MiB in size.
|
||||||
|
One can use [Docker](https://www.docker.com/) in order to build the image,
|
||||||
|
as follows.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker build --build-arg REV=master -t mumble-web-proxy .
|
||||||
|
```
|
||||||
|
|
||||||
|
`master` can be replaced by any revision (i.e. branch, tag or commit hash) of
|
||||||
|
this repository.
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
cmd=("/mumble-web-proxy" "--listen-ws=$MWP_LISTEN_WS" "--server=$MWP_SERVER")
|
||||||
|
|
||||||
|
if [ "$MWP_ACCEPT_INVALID_CERTIFICATE" = true ]; then
|
||||||
|
cmd+=("--accept-invalid-certificate")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$MWP_ICE_PORT_MIN" ]; then
|
||||||
|
cmd+=("--ice-port-min=$MWP_ICE_PORT_MIN")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$MWP_ICE_PORT_MAX" ]; then
|
||||||
|
cmd+=("--ice-port-max=$MWP_ICE_PORT_MAX")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$MWP_ICE_IPV4" ]; then
|
||||||
|
cmd+=("--ice-ipv4=$MWP_ICE_IPV4")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$MWP_ICE_IPV6" ]; then
|
||||||
|
cmd+=("--ice-ipv6=$MWP_ICE_IPV6")
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "${cmd[@]}"
|
Loading…
Reference in New Issue