mirror of
https://github.com/Screenly/Anthias.git
synced 2026-01-02 19:28:29 -05:00
159 lines
4.6 KiB
Docker
159 lines
4.6 KiB
Docker
FROM balenalib/raspberrypi3:buster
|
|
|
|
# This list needs to be trimmed back later
|
|
RUN apt-get update && \
|
|
apt-get -y install --no-install-recommends \
|
|
build-essential \
|
|
ca-certificates \
|
|
git-core \
|
|
libasound2-dev \
|
|
libavcodec-dev \
|
|
libavformat-dev \
|
|
libavutil-dev \
|
|
libbz2-dev \
|
|
libcec-dev \
|
|
libdbus-1-dev \
|
|
libdbus-glib-1-dev \
|
|
libdrm-dev \
|
|
libegl1-mesa-dev \
|
|
libevent-dev \
|
|
libffi-dev \
|
|
libfontconfig1-dev \
|
|
libfreetype6-dev \
|
|
libgbm-dev \
|
|
libgcrypt20-dev \
|
|
libgles2-mesa \
|
|
libgles2-mesa-dev \
|
|
libglib2.0-dev \
|
|
libgst-dev \
|
|
libicu-dev \
|
|
libinput-dev \
|
|
libiodbc2-dev \
|
|
libjpeg62-turbo-dev \
|
|
libjsoncpp-dev \
|
|
libminizip-dev \
|
|
libnss3 \
|
|
libnss3-dev \
|
|
libopus-dev \
|
|
libpci-dev \
|
|
libpng-dev \
|
|
libpng16-16 \
|
|
libpq-dev \
|
|
libpulse-dev \
|
|
libraspberrypi0 \
|
|
librsvg2-common \
|
|
libsdl2-dev \
|
|
libsnappy-dev \
|
|
libsqlite0-dev \
|
|
libsqlite3-dev \
|
|
libsrtp0-dev \
|
|
libsrtp2-dev \
|
|
libssl-dev \
|
|
libssl1.1 \
|
|
libswscale-dev \
|
|
libsystemd-dev \
|
|
libts-dev \
|
|
libudev-dev \
|
|
libvpx-dev \
|
|
libwebp-dev \
|
|
libx11-dev \
|
|
libx11-xcb-dev \
|
|
libx11-xcb1 \
|
|
libxcb-glx0-dev \
|
|
libxcb-icccm4 \
|
|
libxcb-icccm4-dev \
|
|
libxcb-image0 \
|
|
libxcb-image0-dev \
|
|
libxcb-keysyms1 \
|
|
libxcb-keysyms1-dev \
|
|
libxcb-randr0-dev \
|
|
libxcb-render-util0 \
|
|
libxcb-render-util0-dev \
|
|
libxcb-shape0-dev \
|
|
libxcb-shm0 \
|
|
libxcb-shm0-dev \
|
|
libxcb-sync-dev \
|
|
libxcb-sync1 \
|
|
libxcb-xfixes0-dev \
|
|
libxcb-xinerama0 \
|
|
libxcb-xinerama0-dev \
|
|
libxcb1 \
|
|
libxcb1-dev \
|
|
libxext-dev \
|
|
libxi-dev \
|
|
libxkbcommon-dev \
|
|
libxrender-dev \
|
|
libxslt1-dev \
|
|
libxss-dev \
|
|
libxtst-dev \
|
|
net-tools \
|
|
omxplayer \
|
|
psmisc \
|
|
python-dev \
|
|
python-gobject \
|
|
python-netifaces \
|
|
python-pip \
|
|
python-setuptools \
|
|
vlc \
|
|
ttf-wqy-zenhei \
|
|
fonts-arphic-uming \
|
|
sqlite3 && \
|
|
apt-get clean
|
|
|
|
# Install Python requirements
|
|
COPY requirements/requirements.viewer.txt /tmp/requirements.txt
|
|
RUN pip install --no-cache-dir -r /tmp/requirements.txt
|
|
|
|
# Works around issue with `curl`
|
|
# https://github.com/balena-io-library/base-images/issues/562
|
|
RUN c_rehash
|
|
|
|
# QT Base from packages does not support eglfs
|
|
ARG PI_VERSION=pi3
|
|
ARG DEBIAN_VERSION=buster
|
|
ARG QT_VERSION=5.15.2
|
|
ARG WEBVIEW_GIT_HASH=0b6d49359133246659b9ba1d8dd883e3fc5c9a91
|
|
ARG BASE_URL="https://github.com/Screenly/screenly-ose/releases/download/WebView-v0.2.1"
|
|
RUN curl "$BASE_URL/qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz" \
|
|
-sL -o "/tmp/qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz" && \
|
|
curl "$BASE_URL/qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256" \
|
|
-sL -o "/tmp/qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256" && \
|
|
cd /tmp && \
|
|
sha256sum -c "qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256" && \
|
|
tar -xzf "/tmp/qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz" -C /usr/local && \
|
|
rm "qt5-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz"
|
|
|
|
RUN curl "$BASE_URL/webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz" \
|
|
-sL -o "/tmp/webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz" && \
|
|
curl "$BASE_URL/webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz.sha256" \
|
|
-sL -o "/tmp/webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz.sha256" && \
|
|
cd /tmp && \
|
|
sha256sum -c "webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz.sha256" && \
|
|
tar -xzf "/tmp/webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz" -C /usr/local && \
|
|
rm "webview-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION-$WEBVIEW_GIT_HASH.tar.gz"
|
|
|
|
ENV QT_QPA_EGLFS_FORCE888=1
|
|
ENV QT_QPA_PLATFORM=linuxfb
|
|
|
|
# Turn on debug logging for now
|
|
#ENV QT_LOGGING_RULES=qt.qpa.*=true
|
|
ENV QT_LOGGING_RULES=*.debug=true
|
|
ENV QT_QPA_DEBUG=1
|
|
|
|
ARG GIT_HASH
|
|
ENV GIT_HASH=$GIT_HASH
|
|
ARG GIT_SHORT_HASH
|
|
ENV GIT_SHORT_HASH=$GIT_SHORT_HASH
|
|
ARG GIT_BRANCH
|
|
ENV GIT_BRANCH=$GIT_BRANCH
|
|
|
|
RUN useradd -g video viewer
|
|
|
|
RUN rm -f /etc/localtime
|
|
|
|
WORKDIR /usr/src/app
|
|
RUN mkdir -p /usr/src/app
|
|
COPY . /usr/src/app/
|
|
|
|
CMD ["bash", "./bin/start_viewer.sh"]
|