Enhance Dockerfile

This commit is contained in:
Florian Märkl 2020-01-15 21:23:45 +01:00
parent 861c0dbaa3
commit d7372394a2
No known key found for this signature in database
GPG key ID: 125BC8A5A6A1E857
3 changed files with 48 additions and 101 deletions

View file

@ -1,52 +1,43 @@
# Run chiaki in a container
# xhost +"local:docker@"
# docker run -v $HOME/chiaki:/home/ps4/.local/share/Chiaki \
# -v /tmp/.X11-unix:/tmp/.X11-unix \
# --net host \
# -e DISPLAY=$DISPLAY \
# --device /dev/snd \
# --name chiaki
# --rm \
# strubbl_chiaki
FROM alpine:3 AS builder
LABEL maintainer="Strubbl <dockerfile-chiaki@linux4tw.de>"
FROM utensils/opengl:19.0.8 AS builder
LABEL maintainer="chiaki-docker@florianmaerkl.de"
WORKDIR /app
RUN echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk update \
&& apk --no-cache add \
build-base \
cmake \
ffmpeg-dev \
git \
openssl \
opus-dev \
protobuf \
py3-protobuf@testing \
qt5-qtbase \
qt5-qtmultimedia-dev \
qt5-qtsvg-dev \
sdl2-dev \
&& git clone https://github.com/thestr4ng3r/chiaki.git /app \
&& git submodule update --init \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make \
&& ./test/chiaki-unit \
&& rm -rf /var/cache/apk/*
&& apk update \
&& apk --no-cache add \
build-base \
cmake \
ffmpeg-dev \
git \
openssl \
opus-dev \
protobuf \
# py3-protobuf@testing \ # Enable this when the OpenGL image updates alpine
qt5-qtbase \
qt5-qtmultimedia-dev \
qt5-qtsvg-dev \
sdl2-dev \
&& pip3 install protobuf \
&& git clone https://github.com/thestr4ng3r/chiaki.git /app \
&& git submodule update --init \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make \
&& ./test/chiaki-unit \
&& rm -rf /var/cache/apk/*
FROM alpine:3
FROM utensils/opengl:19.0.8
RUN apk update \
&& apk --no-cache add \
ffmpeg \
qt5-qtbase \
qt5-qtmultimedia \
qt5-qtsvg \
sdl2 \
&& rm -rf /var/cache/apk/* \
&& addgroup ps4 && adduser -D -G ps4 ps4 \
&& chown -R ps4: /home/ps4
&& apk --no-cache add \
ffmpeg \
qt5-qtbase \
qt5-qtmultimedia \
qt5-qtsvg \
sdl2 \
&& rm -rf /var/cache/apk/* \
&& addgroup ps4 && adduser -D -G ps4 ps4 \
&& chown -R ps4: /home/ps4
WORKDIR /home/ps4
COPY --from=builder /app/build/gui/chiaki .
USER ps4

View file

@ -1,57 +0,0 @@
# Run chiaki in a container
# docker run -v $HOME/chiaki:/home/ps4/.local/share/Chiaki \
# -v /tmp/.X11-unix:/tmp/.X11-unix \
# --net host \
# -e DISPLAY=$DISPLAY \
# --device /dev/snd \
# --name chiaki
# --rm \
# strubbl_chiaki
FROM ubuntu:19.04 AS builder
LABEL maintainer="Strubbl <dockerfile-chiaki@linux4tw.de>"
ENV DEBIAN_FRONTEND noninteractive
WORKDIR /app
RUN apt-get update \
&& apt-get install -y \
build-essential \
cmake \
git \
protobuf-compiler \
libavcodec-dev \
libavutil-dev \
libopus-dev \
libqt5svg5-dev \
libsdl2-dev \
libssl-dev \
python3 \
python3-distutils \
python3-protobuf \
qt5-default \
qtmultimedia5-dev \
&& git clone https://github.com/thestr4ng3r/chiaki.git /app \
&& git submodule update --init \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make
FROM ubuntu:19.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get install -y \
libavcodec58 \
libavutil56 \
libopus0 \
libqt5multimedia5 \
libqt5svg5 \
libsdl2-2.0-0 \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& useradd -ms /bin/bash ps4
WORKDIR /home/ps4
USER ps4
COPY --from=builder /app/build/gui/chiaki .
VOLUME /home/ps4/.local/share/Chiaki
ENTRYPOINT ["/home/ps4/chiaki"]

13
scripts/docker-run.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/bash
docker run \
-v $HOME/.local/share/Chiaki:/home/ps4/.local/share/Chiaki \
-v $HOME/.config/Chiaki:/home/ps4/.config/Chiaki \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--net host \
-e DISPLAY=$DISPLAY \
--device /dev/snd \
--name chiaki \
--rm \
thestr4ng3r/chiaki