mirror of
https://github.com/Screenly/Anthias.git
synced 2026-05-08 15:25:13 -04:00
110 lines
4.0 KiB
Docker
110 lines
4.0 KiB
Docker
FROM balenalib/rpi-raspbian:buster as viewer-builder
|
|
|
|
RUN apt-get update && \
|
|
apt-get -y install --no-install-recommends \
|
|
build-essential \
|
|
g++ \
|
|
libinput-dev \
|
|
libqt5gui5 \
|
|
libqt5webkit5-dev \
|
|
libqt5x11extras5-dev \
|
|
libts-dev \
|
|
libudev-dev \
|
|
libxcb-xinerama0 \
|
|
libxcb-xinerama0-dev \
|
|
wget \
|
|
make && \
|
|
apt-get clean
|
|
|
|
# QT Base from packages does not support eglfs
|
|
ARG PI_VERSION=pi3
|
|
ARG DEBIAN_VERSION=stretch
|
|
ARG QT_VERSION=5.9
|
|
RUN wget "https://storage.googleapis.com/ose-lab/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz" \
|
|
-q -O /tmp/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz && \
|
|
wget "https://storage.googleapis.com/ose-lab/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256" \
|
|
-q -O /tmp/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256 && \
|
|
cd /tmp && \
|
|
sha256sum -c qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256 && \
|
|
tar -xzf /tmp/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz -C /usr/local && \
|
|
echo "/usr/local/qt5pi/lib" > /etc/ld.so.conf.d/00-qt5pi.conf && \
|
|
ldconfig && \
|
|
rm qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz*
|
|
|
|
RUN mkdir /src
|
|
WORKDIR /src
|
|
COPY webview/ /src/
|
|
RUN /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake
|
|
RUN make -j 4
|
|
RUN make install
|
|
|
|
# @TODO: Upgrade to Buster. We're stuck on QT 5.9 and Stretch for now.
|
|
FROM balenalib/rpi-raspbian:stretch
|
|
|
|
RUN apt-get update && \
|
|
apt-get -y install \
|
|
build-essential \
|
|
curl \
|
|
git-core \
|
|
gstreamer0.10-plugins-good \
|
|
libdbus-glib-1-dev \
|
|
wget \
|
|
libffi-dev \
|
|
libqt5webkit5 \
|
|
libraspberrypi0 \
|
|
libssl-dev \
|
|
libts-dev \
|
|
net-tools \
|
|
omxplayer \
|
|
psmisc \
|
|
python-dev \
|
|
python-gobject \
|
|
python-netifaces \
|
|
python-pip \
|
|
python-setuptools \
|
|
sqlite3 && \
|
|
apt-get clean
|
|
|
|
# Install Python requirements
|
|
ADD requirements/requirements.viewer.txt /tmp/requirements.txt
|
|
RUN pip install --no-cache-dir -r /tmp/requirements.txt
|
|
|
|
# QT Base from packages does not support eglfs
|
|
ARG PI_VERSION=pi3
|
|
ARG DEBIAN_VERSION=stretch
|
|
ARG QT_VERSION=5.9
|
|
RUN wget "https://storage.googleapis.com/ose-lab/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz" \
|
|
-q -O /tmp/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz && \
|
|
wget "https://storage.googleapis.com/ose-lab/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256" \
|
|
-q -O /tmp/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256 && \
|
|
cd /tmp && \
|
|
sha256sum -c qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz.sha256 && \
|
|
tar -xzf /tmp/qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz -C /usr/local && \
|
|
echo "/usr/local/qt5pi/lib" > /etc/ld.so.conf.d/00-qt5pi.conf && \
|
|
ldconfig && \
|
|
rm qtbase-$QT_VERSION-$DEBIAN_VERSION-$PI_VERSION.tar.gz*
|
|
|
|
# Fix symlinks
|
|
RUN rm -f /usr/lib/arm-linux-gnueabihf/libEGL.so.1 && \
|
|
rm -f /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 && \
|
|
ln -s /opt/vc/lib/libbrcmEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so && \
|
|
ln -s /opt/vc/lib/libbrcmEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1 && \
|
|
ln -s /opt/vc/lib/libbrcmEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 && \
|
|
rm -f /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 && \
|
|
rm -f /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 && \
|
|
ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so && \
|
|
ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 && \
|
|
ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
|
|
|
|
RUN mkdir -p /usr/local/share/ScreenlyWebview
|
|
COPY --from=viewer-builder /src/ScreenlyWebview /usr/local/bin/
|
|
COPY --from=viewer-builder /src/res /usr/local/share/ScreenlyWebview/
|
|
|
|
ENV QT_QPA_EGLFS_FORCE888=1
|
|
|
|
WORKDIR /usr/src/app
|
|
RUN mkdir -p /usr/src/app
|
|
COPY . /usr/src/app/
|
|
|
|
CMD ["bash", "./bin/start_viewer.sh"]
|