cloud-game/Dockerfile
sergystepanov 9d3e9c1a3b
Initial Docker rewrite (#190)
* Initial Docker rewrite

* Add rebuild

* Up

* Up

* Up

* Pre-release

* Pack assets with ext games

* Remove Makefile Docker because it's broken on Windows and a dup

* Add default container name

* Update docker-compose.yml

* Add app binaries into the system bin folder

* Update

* Update
2020-06-09 20:38:43 +08:00

43 lines
902 B
Docker
Vendored

# The base cloud-game image
ARG BUILD_PATH=/go/src/github.com/giongto35/cloud-game
# build image
FROM golang:1.14 AS build
ARG BUILD_PATH
WORKDIR ${BUILD_PATH}
# system libs layer
RUN apt-get update && apt-get install -y \
make \
pkg-config \
libvpx-dev \
libopus-dev \
libopusfile-dev \
&& rm -rf /var/lib/apt/lists/*
# go deps layer
COPY go.mod go.sum ./
RUN go mod download
# app build layer
COPY ./ ./
RUN make build
# base image
FROM debian:10-slim
ARG BUILD_PATH
WORKDIR /usr/local/share/cloud-game
RUN apt-get update && apt-get install -y \
libvpx5 \
libopus0 \
libopusfile0 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build ${BUILD_PATH}/bin/ ./
# it assumed there are only binary files yet
RUN cp -s $(pwd)/* /usr/local/bin
COPY web ./web
COPY assets/emulator/libretro/cores/*.so ./assets/emulator/libretro/cores/
EXPOSE 8000 9000 3478/tcp 3478/udp