cloud-game/Dockerfile
sergystepanov 65dcaf7820
Enable release builds with v-tags (#310)
Re-enable release builds push into Github releases page when new v-prefixed tags are pushed (i.e. v2.4.2).
2021-04-07 18:50:34 +03:00

55 lines
1.1 KiB
Docker
Vendored

# The base cloud-game image
ARG BUILD_PATH=/go/src/github.com/giongto35/cloud-game
# build image
FROM debian:bullseye-slim AS build
ARG BUILD_PATH
WORKDIR ${BUILD_PATH}
# system libs layer
RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \
gcc \
ca-certificates \
libopus-dev \
libsdl2-dev \
libvpx-dev \
libx264-dev \
make \
pkg-config \
wget \
&& rm -rf /var/lib/apt/lists/*
# go setup layer
ARG GO=go1.16.3.linux-amd64.tar.gz
RUN wget -q https://golang.org/dl/$GO \
&& rm -rf /usr/local/go \
&& tar -C /usr/local -xzf $GO \
&& rm $GO
ENV PATH="${PATH}:/usr/local/go/bin"
# go deps layer
COPY go.mod go.sum ./
RUN go mod download
# app build layer
COPY pkg ./pkg
COPY cmd ./cmd
COPY Makefile .
RUN make build
# base image
FROM debian:bullseye-slim
ARG BUILD_PATH
WORKDIR /usr/local/share/cloud-game
COPY scripts/install.sh install.sh
RUN bash install.sh && \
rm -rf /var/lib/apt/lists/* install.sh
COPY --from=build ${BUILD_PATH}/bin/ ./
RUN cp -s $(pwd)/* /usr/local/bin
COPY assets/cores ./assets/cores
COPY configs ./configs
COPY web ./web
EXPOSE 8000 9000