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