tvheadproxy 0.1.0

tvheadproxy is an app that proxies tvheadend so it can be used with Plex DVR.
FROM rust:latest as cargo-build

RUN apt-get update

RUN apt-get install musl-tools -y

RUN rustup target add x86_64-unknown-linux-musl

WORKDIR /usr/src/tvheadproxy

COPY Cargo.toml Cargo.toml

RUN mkdir src/

RUN echo "fn main() {println!(\"if you see this, the build broke\")}" > src/main.rs

RUN RUSTFLAGS=-Clinker=musl-gcc cargo build --release --target=x86_64-unknown-linux-musl

RUN rm -f target/x86_64-unknown-linux-musl/release/deps/tvheadproxy*

COPY src src

RUN RUSTFLAGS=-Clinker=musl-gcc cargo build --release --target=x86_64-unknown-linux-musl

FROM alpine:latest

RUN addgroup -g 1000 tvheadproxy

RUN adduser -D -s /bin/sh -u 1000 -G tvheadproxy tvheadproxy

WORKDIR /home/tvheadproxy/bin/

COPY --from=cargo-build /usr/src/tvheadproxy/target/x86_64-unknown-linux-musl/release/tvheadproxy .

RUN chown tvheadproxy:tvheadproxy tvheadproxy

USER tvheadproxy

ENTRYPOINT ["./tvheadproxy"]