FROM golang:alpine as builder

RUN apk add --no-cache \
        build-base \
        opus-dev

COPY . /go/src/github.com/matthieugrieger/mumbledj
WORKDIR /go/src/github.com/matthieugrieger/mumbledj

RUN go get -v \
    && go build -v -ldflags="-s -w"

FROM alpine

RUN adduser -D mumbledj

RUN apk add --no-cache \
        aria2 \
        libressl \
        python2

RUN wget -O /usr/bin/youtube-dl https://yt-dl.org/downloads/latest/youtube-dl \
    && chmod +x /usr/bin/youtube-dl

RUN wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz \
    && tar xvf ffmpeg-git-amd64-static.tar.xz '*/ffmpeg' || true \
    && mv ffmpeg-git-20190527-amd64-static/ffmpeg /usr/bin/ffmpeg \
    && rm -rf ffmpeg-git-* \
    && apk add --no-cache upx \
    && upx /usr/bin/ffmpeg \
    && apk del upx

COPY --from=builder /go/src/github.com/matthieugrieger/mumbledj/mumbledj /usr/bin/mumbledj

COPY config.yaml /home/mumbledj/.config/mumbledj/config.yaml

USER mumbledj

ENTRYPOINT ["/usr/bin/mumbledj"]
