2020-04-11 10:24:49 +01:00
|
|
|
FROM golang:1.14-alpine AS gobuild
|
2019-08-31 18:24:11 +01:00
|
|
|
|
|
|
|
WORKDIR /go/src/kubedoom
|
|
|
|
ADD kubedoom.go .
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o kubedoom .
|
|
|
|
|
|
|
|
FROM ubuntu:19.10 AS ubuntu
|
|
|
|
# make sure the package repository is up to date
|
|
|
|
RUN apt-get update
|
|
|
|
|
|
|
|
FROM ubuntu AS ubuntu-deps
|
|
|
|
# Install dependencies
|
2019-09-01 20:43:02 +01:00
|
|
|
RUN apt-get install -y \
|
|
|
|
-o APT::Install-Suggests=0 \
|
|
|
|
--no-install-recommends \
|
|
|
|
wget ca-certificates
|
2019-08-31 18:24:11 +01:00
|
|
|
RUN wget http://distro.ibiblio.org/pub/linux/distributions/slitaz/sources/packages/d/doom1.wad
|
2020-02-15 19:36:30 +00:00
|
|
|
RUN wget -O /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/$(wget -O- https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl \
|
2019-09-01 20:43:02 +01:00
|
|
|
&& chmod +x /usr/bin/kubectl
|
2019-08-31 18:24:11 +01:00
|
|
|
|
|
|
|
FROM ubuntu AS ubuntu-build
|
|
|
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
2019-09-01 20:43:02 +01:00
|
|
|
RUN apt-get install -y \
|
|
|
|
-o APT::Install-Suggests=0 \
|
|
|
|
--no-install-recommends \
|
|
|
|
build-essential \
|
|
|
|
libsdl-mixer1.2-dev \
|
|
|
|
libsdl-net1.2-dev \
|
|
|
|
gcc
|
2019-08-31 18:24:11 +01:00
|
|
|
|
|
|
|
# Setup doom
|
2019-09-01 20:43:02 +01:00
|
|
|
ADD /dockerdoom /dockerdoom
|
2019-09-01 21:11:32 +01:00
|
|
|
RUN cd /dockerdoom/trunk && ./configure && make && make install
|
2019-08-31 18:24:11 +01:00
|
|
|
|
|
|
|
FROM ubuntu
|
2019-09-01 20:43:02 +01:00
|
|
|
RUN apt-get install -y \
|
|
|
|
-o APT::Install-Suggests=0 \
|
|
|
|
--no-install-recommends \
|
|
|
|
libsdl-mixer1.2 \
|
|
|
|
libsdl-net1.2 \
|
|
|
|
x11vnc \
|
|
|
|
xvfb \
|
|
|
|
netcat-openbsd
|
2019-08-31 18:24:11 +01:00
|
|
|
|
|
|
|
WORKDIR /root/
|
|
|
|
|
|
|
|
# Setup a password
|
|
|
|
RUN mkdir ~/.vnc && x11vnc -storepasswd 1234 ~/.vnc/passwd
|
|
|
|
|
|
|
|
COPY --from=ubuntu-deps /doom1.wad .
|
|
|
|
COPY --from=ubuntu-deps /usr/bin/kubectl /usr/bin/
|
|
|
|
COPY --from=ubuntu-build /usr/local/games/psdoom /usr/local/games/
|
|
|
|
COPY --from=gobuild /go/src/kubedoom/kubedoom .
|
|
|
|
|
|
|
|
ENTRYPOINT ["/root/kubedoom"]
|