mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 18:20:44 +00:00
docker: Add initial images
This commit is contained in:
parent
74f2d5735c
commit
aa441579c4
8 changed files with 237 additions and 0 deletions
2
docker/README
Normal file
2
docker/README
Normal file
|
@ -0,0 +1,2 @@
|
|||
GStreamer Docker images
|
||||
|
76
docker/build-base-images/Dockerfile-fedora
Normal file
76
docker/build-base-images/Dockerfile-fedora
Normal file
|
@ -0,0 +1,76 @@
|
|||
FROM gstreamer/base-fedora:latest
|
||||
|
||||
# Add rpmfusion repositories and install all build dependencies of GStreamer
|
||||
RUN dnf builddep -y \
|
||||
gstreamer1 \
|
||||
gstreamer1-plugins-base \
|
||||
gstreamer1-plugins-good \
|
||||
gstreamer1-plugins-good-extras \
|
||||
gstreamer1-plugins-ugly \
|
||||
gstreamer1-plugins-ugly-free \
|
||||
gstreamer1-plugins-bad-nonfree \
|
||||
gstreamer1-plugins-bad-free \
|
||||
gstreamer1-plugins-bad-free-extras \
|
||||
gstreamer1-plugins-bad-freeworld \
|
||||
gstreamer1-libav \
|
||||
gstreamer1-rtsp-server \
|
||||
&& \
|
||||
rpm -e \
|
||||
gstreamer1 \
|
||||
gstreamer1-plugins-base \
|
||||
gstreamer1-devel \
|
||||
gstreamer1-plugins-base-devel \
|
||||
&& \
|
||||
dnf install -y \
|
||||
ccache \
|
||||
gcc-c++ \
|
||||
git \
|
||||
json-glib-devel \
|
||||
libunwind-devel \
|
||||
opencv-devel \
|
||||
openjpeg2-devel \
|
||||
patch \
|
||||
redhat-rpm-config \
|
||||
xorg-x11-server-Xvfb \
|
||||
xorg-x11-server-utils \
|
||||
wget \
|
||||
&& \
|
||||
dnf clean all
|
||||
|
||||
# Clone copies of all repositories to avoid extra downloads
|
||||
RUN mkdir /repositories && \
|
||||
cd /repositories && \
|
||||
for i in orc \
|
||||
common \
|
||||
gstreamer \
|
||||
gst-plugins-base \
|
||||
gst-plugins-good \
|
||||
gst-plugins-bad \
|
||||
gst-plugins-ugly \
|
||||
gst-libav \
|
||||
gst-build \
|
||||
gst-devtools\
|
||||
gst-docs \
|
||||
gst-editing-services \
|
||||
gst-omx \
|
||||
gst-python \
|
||||
gst-rtsp-server; \
|
||||
do \
|
||||
git clone --mirror https://anongit.freedesktop.org/git/gstreamer/$i; \
|
||||
done
|
||||
|
||||
# Install repo tool
|
||||
RUN wget -nd https://storage.googleapis.com/git-repo-downloads/repo -O /usr/bin/repo && chmod a+x /usr/bin/repo
|
||||
|
||||
# Add the user UID:1000, GID:1000, home at /gstbuild
|
||||
RUN groupadd -r gstbuild -g 1000 && useradd -u 1000 -r -g gstbuild -m -d /gstbuild -s /sbin/nologin -c "Gstbuild user" gstbuild && \
|
||||
chmod 755 /gstbuild
|
||||
|
||||
# Set the working directory to gstbuild home directory
|
||||
WORKDIR /gstbuild
|
||||
|
||||
# Specify the user to execute all commands below
|
||||
USER gstbuild
|
||||
|
||||
# Configure git for various usage
|
||||
RUN git config --global user.email "gstbuild@gstreamer.net" && git config --global user.name "Gstbuild Runner"
|
12
docker/build-base-images/Dockerfile-meson-fedora
Normal file
12
docker/build-base-images/Dockerfile-meson-fedora
Normal file
|
@ -0,0 +1,12 @@
|
|||
FROM gstreamer/build-base-fedora:latest
|
||||
|
||||
USER root
|
||||
|
||||
RUN dnf install -y \
|
||||
meson
|
||||
|
||||
USER gstbuild
|
||||
|
||||
RUN git clone git://anongit.freedesktop.org/gstreamer/gst-build
|
||||
|
||||
WORKDIR /gstbuild/gst-build
|
62
docker/build-base-images/Dockerfile-ubuntu
Normal file
62
docker/build-base-images/Dockerfile-ubuntu
Normal file
|
@ -0,0 +1,62 @@
|
|||
FROM gstreamer/base-ubuntu:latest
|
||||
|
||||
# make source packages available in order to figure out build dependencies
|
||||
RUN \
|
||||
sed -i "s/# deb-src/deb-src/g" /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get -y build-dep \
|
||||
orc \
|
||||
gstreamer1.0 \
|
||||
gst-plugins-base1.0 \
|
||||
gst-plugins-good1.0 \
|
||||
gst-plugins-bad1.0 \
|
||||
gst-plugins-ugly1.0 \
|
||||
gst-libav1.0 \
|
||||
gst-rtsp-server1.0 \
|
||||
gst-python1.0 \
|
||||
gstreamer-vaapi \
|
||||
gstreamer-editing-services1.0 && \
|
||||
apt-get -y install \
|
||||
ccache \
|
||||
git \
|
||||
xvfb \
|
||||
wget
|
||||
|
||||
# Clone copies of all repositories to avoid extra downloads
|
||||
RUN mkdir /repositories && \
|
||||
cd /repositories && \
|
||||
for i in orc \
|
||||
common \
|
||||
gstreamer \
|
||||
gst-plugins-base \
|
||||
gst-plugins-good \
|
||||
gst-plugins-bad \
|
||||
gst-plugins-ugly \
|
||||
gst-libav \
|
||||
gst-build \
|
||||
gst-devtools\
|
||||
gst-docs \
|
||||
gst-editing-services \
|
||||
gst-omx \
|
||||
gst-python \
|
||||
gst-rtsp-server; \
|
||||
do \
|
||||
git clone --mirror https://anongit.freedesktop.org/git/gstreamer/$i; \
|
||||
done
|
||||
|
||||
# Install repo tool
|
||||
RUN wget -nd https://storage.googleapis.com/git-repo-downloads/repo -O /usr/bin/repo && chmod a+x /usr/bin/repo
|
||||
|
||||
# Add the user UID:1000, GID:1000, home at /gstbuild
|
||||
RUN groupadd -r gstbuild -g 1000 && useradd -u 1000 -r -g gstbuild -m -d /gstbuild -s /sbin/nologin -c "Gstbuild user" gstbuild && \
|
||||
chmod 755 /gstbuild
|
||||
|
||||
# Set the working directory to gstbuild home directory
|
||||
WORKDIR /gstbuild
|
||||
|
||||
# Specify the user to execute all commands below
|
||||
USER gstbuild
|
||||
|
||||
# Configure git for various usage
|
||||
RUN git config --global user.email "gstbuild@gstreamer.net" && git config --global user.name "Gstbuild Runner"
|
||||
|
8
docker/build-base-images/build.sh
Executable file
8
docker/build-base-images/build.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
echo Building gstreamer/build-base-fedora:latest
|
||||
|
||||
docker build -t gstreamer/build-base-fedora:latest . -f Dockerfile-fedora
|
||||
|
||||
echo Building gstreamer/build-base-ubuntu:latest
|
||||
|
||||
docker build -t gstreamer/build-base-ubuntu:latest . -f Dockerfile-ubuntu
|
47
docker/runtime-images/Dockerfile-fedora
Normal file
47
docker/runtime-images/Dockerfile-fedora
Normal file
|
@ -0,0 +1,47 @@
|
|||
FROM fedora:26
|
||||
|
||||
# Add rpmfusion repositories and install all build dependencies of GStreamer
|
||||
# and then remove the gst packages themselves
|
||||
RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf && \
|
||||
dnf install -y http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-26.noarch.rpm \
|
||||
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-26.noarch.rpm && \
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-26 && \
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-26 && \
|
||||
dnf upgrade -y && \
|
||||
dnf install -y \
|
||||
dnf-plugins-core \
|
||||
json-glib \
|
||||
libunwind \
|
||||
opencv \
|
||||
openjpeg2 \
|
||||
procps-ng \
|
||||
&& \
|
||||
dnf install -y \
|
||||
gstreamer1 \
|
||||
gstreamer1-plugins-base \
|
||||
gstreamer1-plugins-good \
|
||||
gstreamer1-plugins-good-extras \
|
||||
gstreamer1-plugins-ugly \
|
||||
gstreamer1-plugins-ugly-free \
|
||||
gstreamer1-plugins-bad-nonfree \
|
||||
gstreamer1-plugins-bad-free \
|
||||
gstreamer1-plugins-bad-free-extras \
|
||||
gstreamer1-plugins-bad-freeworld \
|
||||
gstreamer1-libav \
|
||||
gstreamer1-rtsp-server \
|
||||
&& \
|
||||
rpm -e \
|
||||
gstreamer1 \
|
||||
gstreamer1-plugins-base \
|
||||
gstreamer1-plugins-good \
|
||||
gstreamer1-plugins-good-extras \
|
||||
gstreamer1-plugins-ugly \
|
||||
gstreamer1-plugins-ugly-free \
|
||||
gstreamer1-plugins-bad-nonfree \
|
||||
gstreamer1-plugins-bad-free \
|
||||
gstreamer1-plugins-bad-free-extras \
|
||||
gstreamer1-plugins-bad-freeworld \
|
||||
gstreamer1-rtsp-server \
|
||||
gstreamer1-libav \
|
||||
&& \
|
||||
dnf clean all
|
21
docker/runtime-images/Dockerfile-ubuntu
Normal file
21
docker/runtime-images/Dockerfile-ubuntu
Normal file
|
@ -0,0 +1,21 @@
|
|||
FROM ubuntu:17.04
|
||||
|
||||
# upgrade and install all runtime dependencies for gstreamer
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get -y upgrade && \
|
||||
apt-get -y install --no-install-recommends\
|
||||
gstreamer1.0-libav \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gstreamer1.0-plugins-bad-faad \
|
||||
gstreamer1.0-plugins-bad-videoparsers \
|
||||
gstreamer1.0-plugins-ugly \
|
||||
gstreamer1.0-plugins-ugly-amr \
|
||||
gstreamer1.0-rtsp \
|
||||
gstreamer1.0-alsa \
|
||||
gstreamer1.0-plugins-base \
|
||||
gstreamer1.0-plugins-good \
|
||||
gstreamer1.0-pulseaudio \
|
||||
gstreamer1.0-x \
|
||||
libgstreamer-plugins-base1.0-0 \
|
||||
libgstreamer1.0
|
9
docker/runtime-images/build.sh
Executable file
9
docker/runtime-images/build.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
echo Building gstreamer/base-fedora:latest
|
||||
|
||||
docker build -t gstreamer/base-fedora:latest . -f Dockerfile-fedora
|
||||
|
||||
echo Building gstreamer/base-ubuntu:latest
|
||||
|
||||
docker build -t gstreamer/base-ubuntu:latest . -f Dockerfile-ubuntu
|
||||
|
Loading…
Reference in a new issue