mirror of
https://github.com/linuxserver/docker-baseimage-rdesktop.git
synced 2026-02-20 08:39:58 +08:00
update file format add video drivers and perm script
This commit is contained in:
parent
e5544cd4f6
commit
15a3cfedbf
164
Dockerfile
164
Dockerfile
@ -7,45 +7,45 @@ RUN \
|
||||
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
devscripts \
|
||||
dpkg-dev \
|
||||
git \
|
||||
libpulse-dev \
|
||||
pulseaudio && \
|
||||
apt build-dep -y \
|
||||
pulseaudio \
|
||||
xrdp
|
||||
build-essential \
|
||||
devscripts \
|
||||
dpkg-dev \
|
||||
git \
|
||||
libpulse-dev \
|
||||
pulseaudio && \
|
||||
apt build-dep -y \
|
||||
pulseaudio \
|
||||
xrdp
|
||||
|
||||
RUN \
|
||||
echo "**** build pulseaudio modules ****" && \
|
||||
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
|
||||
tmp=$(mktemp -d); cd "$tmp" && \
|
||||
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
|
||||
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
|
||||
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
|
||||
mirror=$2 && \
|
||||
suite=${3#*/} && \
|
||||
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
|
||||
cd "pulseaudio-$pulseaudio_upstream_version" && \
|
||||
./configure && \
|
||||
cd - && \
|
||||
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
|
||||
cd pulseaudio-module-xrdp && \
|
||||
git checkout ${XRDP_PULSE_VERSION} && \
|
||||
./bootstrap && \
|
||||
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
|
||||
make && \
|
||||
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
|
||||
echo "**** build pulseaudio modules ****" && \
|
||||
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
|
||||
tmp=$(mktemp -d); cd "$tmp" && \
|
||||
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
|
||||
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
|
||||
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
|
||||
mirror=$2 && \
|
||||
suite=${3#*/} && \
|
||||
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
|
||||
cd "pulseaudio-$pulseaudio_upstream_version" && \
|
||||
./configure && \
|
||||
cd - && \
|
||||
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
|
||||
cd pulseaudio-module-xrdp && \
|
||||
git checkout ${XRDP_PULSE_VERSION} && \
|
||||
./bootstrap && \
|
||||
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
|
||||
make && \
|
||||
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
|
||||
|
||||
RUN \
|
||||
echo "**** build xrdp with fuse disabled ****" && \
|
||||
cd /tmp && \
|
||||
apt-get source xrdp && \
|
||||
cd xrdp-* && \
|
||||
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
|
||||
debuild -b -uc -us && \
|
||||
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
|
||||
echo "**** build xrdp with fuse disabled ****" && \
|
||||
cd /tmp && \
|
||||
apt-get source xrdp && \
|
||||
cd xrdp-* && \
|
||||
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
|
||||
debuild -b -uc -us && \
|
||||
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
|
||||
|
||||
# docker compose
|
||||
FROM ghcr.io/linuxserver/docker-compose:amd64-latest as compose
|
||||
@ -63,51 +63,57 @@ LABEL maintainer="thelamer"
|
||||
COPY --from=buildstage /buildout/ /
|
||||
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
|
||||
|
||||
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
|
||||
RUN \
|
||||
echo "**** install deps ****" && \
|
||||
ldconfig && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dbus-x11 \
|
||||
gawk \
|
||||
gnupg2 \
|
||||
libfuse2 \
|
||||
libx11-dev \
|
||||
libxfixes3 \
|
||||
libxml2 \
|
||||
libxrandr2 \
|
||||
openssh-client \
|
||||
pulseaudio \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
x11-apps \
|
||||
x11-xserver-utils \
|
||||
xfonts-base \
|
||||
xorgxrdp \
|
||||
xrdp \
|
||||
xserver-xorg-core \
|
||||
xutils \
|
||||
zlib1g && \
|
||||
dpkg -i /xrdp.deb && \
|
||||
rm /xrdp.deb && \
|
||||
echo "**** install docker ****" && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker-ce-cli && \
|
||||
echo "**** cleanup and user perms ****" && \
|
||||
echo "abc:abc" | chpasswd && \
|
||||
usermod -aG sudo abc && \
|
||||
apt-get autoclean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
echo "**** install deps ****" && \
|
||||
ldconfig && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dbus-x11 \
|
||||
gawk \
|
||||
gnupg2 \
|
||||
libfuse2 \
|
||||
libx11-dev \
|
||||
libxfixes3 \
|
||||
libxml2 \
|
||||
libxrandr2 \
|
||||
openssh-client \
|
||||
pulseaudio \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
x11-apps \
|
||||
x11-xserver-utils \
|
||||
xfonts-base \
|
||||
xorgxrdp \
|
||||
xrdp \
|
||||
xserver-xorg-core \
|
||||
xserver-xorg-video-intel \
|
||||
xserver-xorg-video-amdgpu \
|
||||
xserver-xorg-video-ati \
|
||||
xutils \
|
||||
zlib1g && \
|
||||
dpkg -i /xrdp.deb && \
|
||||
rm /xrdp.deb && \
|
||||
echo "**** install docker ****" && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker-ce-cli && \
|
||||
echo "**** cleanup and user perms ****" && \
|
||||
echo "abc:abc" | chpasswd && \
|
||||
usermod -aG sudo abc && \
|
||||
apt-get autoclean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
|
||||
@ -3,49 +3,49 @@ FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal as buildstage
|
||||
ARG XRDP_PULSE_VERSION=v0.4
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
devscripts \
|
||||
dpkg-dev \
|
||||
git \
|
||||
libpulse-dev \
|
||||
pulseaudio && \
|
||||
apt build-dep -y \
|
||||
pulseaudio \
|
||||
xrdp
|
||||
echo "**** install build deps ****" && \
|
||||
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
devscripts \
|
||||
dpkg-dev \
|
||||
git \
|
||||
libpulse-dev \
|
||||
pulseaudio && \
|
||||
apt build-dep -y \
|
||||
pulseaudio \
|
||||
xrdp
|
||||
|
||||
RUN \
|
||||
echo "**** build pulseaudio modules ****" && \
|
||||
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
|
||||
tmp=$(mktemp -d); cd "$tmp" && \
|
||||
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
|
||||
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
|
||||
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
|
||||
mirror=$2 && \
|
||||
suite=${3#*/} && \
|
||||
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
|
||||
cd "pulseaudio-$pulseaudio_upstream_version" && \
|
||||
./configure && \
|
||||
cd - && \
|
||||
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
|
||||
cd pulseaudio-module-xrdp && \
|
||||
git checkout ${XRDP_PULSE_VERSION} && \
|
||||
./bootstrap && \
|
||||
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
|
||||
make && \
|
||||
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
|
||||
echo "**** build pulseaudio modules ****" && \
|
||||
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
|
||||
tmp=$(mktemp -d); cd "$tmp" && \
|
||||
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
|
||||
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
|
||||
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
|
||||
mirror=$2 && \
|
||||
suite=${3#*/} && \
|
||||
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
|
||||
cd "pulseaudio-$pulseaudio_upstream_version" && \
|
||||
./configure && \
|
||||
cd - && \
|
||||
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
|
||||
cd pulseaudio-module-xrdp && \
|
||||
git checkout ${XRDP_PULSE_VERSION} && \
|
||||
./bootstrap && \
|
||||
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
|
||||
make && \
|
||||
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
|
||||
|
||||
RUN \
|
||||
echo "**** build xrdp with fuse disabled ****" && \
|
||||
cd /tmp && \
|
||||
apt-get source xrdp && \
|
||||
cd xrdp-* && \
|
||||
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
|
||||
debuild -b -uc -us && \
|
||||
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
|
||||
echo "**** build xrdp with fuse disabled ****" && \
|
||||
cd /tmp && \
|
||||
apt-get source xrdp && \
|
||||
cd xrdp-* && \
|
||||
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
|
||||
debuild -b -uc -us && \
|
||||
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
|
||||
|
||||
# docker compose
|
||||
FROM ghcr.io/linuxserver/docker-compose:arm64v8-latest as compose
|
||||
@ -64,50 +64,50 @@ COPY --from=buildstage /buildout/ /
|
||||
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
|
||||
|
||||
RUN \
|
||||
echo "**** install deps ****" && \
|
||||
ldconfig && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dbus-x11 \
|
||||
gawk \
|
||||
gnupg2 \
|
||||
libfuse2 \
|
||||
libx11-dev \
|
||||
libxfixes3 \
|
||||
libxml2 \
|
||||
libxrandr2 \
|
||||
openssh-client \
|
||||
pulseaudio \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
x11-apps \
|
||||
x11-xserver-utils \
|
||||
xfonts-base \
|
||||
xorgxrdp \
|
||||
xrdp \
|
||||
xserver-xorg-core \
|
||||
xutils \
|
||||
zlib1g && \
|
||||
dpkg -i /xrdp.deb && \
|
||||
rm /xrdp.deb && \
|
||||
echo "**** install docker ****" && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu bionic stable" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker-ce-cli && \
|
||||
echo "**** cleanup and user perms ****" && \
|
||||
echo "abc:abc" | chpasswd && \
|
||||
usermod -aG sudo abc && \
|
||||
apt-get autoclean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
echo "**** install deps ****" && \
|
||||
ldconfig && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dbus-x11 \
|
||||
gawk \
|
||||
gnupg2 \
|
||||
libfuse2 \
|
||||
libx11-dev \
|
||||
libxfixes3 \
|
||||
libxml2 \
|
||||
libxrandr2 \
|
||||
openssh-client \
|
||||
pulseaudio \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
x11-apps \
|
||||
x11-xserver-utils \
|
||||
xfonts-base \
|
||||
xorgxrdp \
|
||||
xrdp \
|
||||
xserver-xorg-core \
|
||||
xutils \
|
||||
zlib1g && \
|
||||
dpkg -i /xrdp.deb && \
|
||||
rm /xrdp.deb && \
|
||||
echo "**** install docker ****" && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu bionic stable" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker-ce-cli && \
|
||||
echo "**** cleanup and user perms ****" && \
|
||||
echo "abc:abc" | chpasswd && \
|
||||
usermod -aG sudo abc && \
|
||||
apt-get autoclean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
|
||||
166
Dockerfile.armhf
166
Dockerfile.armhf
@ -3,49 +3,49 @@ FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal as buildstage
|
||||
ARG XRDP_PULSE_VERSION=v0.4
|
||||
|
||||
RUN \
|
||||
echo "**** install build deps ****" && \
|
||||
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
devscripts \
|
||||
dpkg-dev \
|
||||
git \
|
||||
libpulse-dev \
|
||||
pulseaudio && \
|
||||
apt build-dep -y \
|
||||
pulseaudio \
|
||||
xrdp
|
||||
echo "**** install build deps ****" && \
|
||||
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
devscripts \
|
||||
dpkg-dev \
|
||||
git \
|
||||
libpulse-dev \
|
||||
pulseaudio && \
|
||||
apt build-dep -y \
|
||||
pulseaudio \
|
||||
xrdp
|
||||
|
||||
RUN \
|
||||
echo "**** build pulseaudio modules ****" && \
|
||||
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
|
||||
tmp=$(mktemp -d); cd "$tmp" && \
|
||||
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
|
||||
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
|
||||
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
|
||||
mirror=$2 && \
|
||||
suite=${3#*/} && \
|
||||
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
|
||||
cd "pulseaudio-$pulseaudio_upstream_version" && \
|
||||
./configure && \
|
||||
cd - && \
|
||||
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
|
||||
cd pulseaudio-module-xrdp && \
|
||||
git checkout ${XRDP_PULSE_VERSION} && \
|
||||
./bootstrap && \
|
||||
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
|
||||
make && \
|
||||
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
|
||||
echo "**** build pulseaudio modules ****" && \
|
||||
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
|
||||
tmp=$(mktemp -d); cd "$tmp" && \
|
||||
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
|
||||
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
|
||||
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
|
||||
mirror=$2 && \
|
||||
suite=${3#*/} && \
|
||||
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
|
||||
cd "pulseaudio-$pulseaudio_upstream_version" && \
|
||||
./configure && \
|
||||
cd - && \
|
||||
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
|
||||
cd pulseaudio-module-xrdp && \
|
||||
git checkout ${XRDP_PULSE_VERSION} && \
|
||||
./bootstrap && \
|
||||
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
|
||||
make && \
|
||||
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
|
||||
|
||||
RUN \
|
||||
echo "**** build xrdp with fuse disabled ****" && \
|
||||
cd /tmp && \
|
||||
apt-get source xrdp && \
|
||||
cd xrdp-* && \
|
||||
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
|
||||
debuild -b -uc -us && \
|
||||
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
|
||||
echo "**** build xrdp with fuse disabled ****" && \
|
||||
cd /tmp && \
|
||||
apt-get source xrdp && \
|
||||
cd xrdp-* && \
|
||||
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
|
||||
debuild -b -uc -us && \
|
||||
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
|
||||
|
||||
# docker compose
|
||||
FROM ghcr.io/linuxserver/docker-compose:arm32v7-latest as compose
|
||||
@ -64,50 +64,50 @@ COPY --from=buildstage /buildout/ /
|
||||
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
|
||||
|
||||
RUN \
|
||||
echo "**** install deps ****" && \
|
||||
ldconfig && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dbus-x11 \
|
||||
gawk \
|
||||
gnupg2 \
|
||||
libfuse2 \
|
||||
libx11-dev \
|
||||
libxfixes3 \
|
||||
libxml2 \
|
||||
libxrandr2 \
|
||||
openssh-client \
|
||||
pulseaudio \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
x11-apps \
|
||||
x11-xserver-utils \
|
||||
xfonts-base \
|
||||
xorgxrdp \
|
||||
xrdp \
|
||||
xserver-xorg-core \
|
||||
xutils \
|
||||
zlib1g && \
|
||||
dpkg -i /xrdp.deb && \
|
||||
rm /xrdp.deb && \
|
||||
echo "**** install docker ****" && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu bionic stable" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker-ce-cli && \
|
||||
echo "**** cleanup and user perms ****" && \
|
||||
echo "abc:abc" | chpasswd && \
|
||||
usermod -aG sudo abc && \
|
||||
apt-get autoclean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
echo "**** install deps ****" && \
|
||||
ldconfig && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dbus-x11 \
|
||||
gawk \
|
||||
gnupg2 \
|
||||
libfuse2 \
|
||||
libx11-dev \
|
||||
libxfixes3 \
|
||||
libxml2 \
|
||||
libxrandr2 \
|
||||
openssh-client \
|
||||
pulseaudio \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
x11-apps \
|
||||
x11-xserver-utils \
|
||||
xfonts-base \
|
||||
xorgxrdp \
|
||||
xrdp \
|
||||
xserver-xorg-core \
|
||||
xutils \
|
||||
zlib1g && \
|
||||
dpkg -i /xrdp.deb && \
|
||||
rm /xrdp.deb && \
|
||||
echo "**** install docker ****" && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu bionic stable" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker-ce-cli && \
|
||||
echo "**** cleanup and user perms ****" && \
|
||||
echo "abc:abc" | chpasswd && \
|
||||
usermod -aG sudo abc && \
|
||||
apt-get autoclean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
|
||||
35
root/etc/cont-init.d/50-gid-video
Normal file
35
root/etc/cont-init.d/50-gid-video
Normal file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null)
|
||||
|
||||
for i in $FILES
|
||||
do
|
||||
VIDEO_GID=$(stat -c '%g' "${i}")
|
||||
VIDEO_UID=$(stat -c '%u' "${i}")
|
||||
# check if user matches device
|
||||
if id -u abc | grep -qw "${VIDEO_UID}"; then
|
||||
echo "**** permissions for ${i} are good ****"
|
||||
else
|
||||
# check if group matches and that device has group rw
|
||||
if id -G abc | grep -qw "${VIDEO_GID}" && [ $(stat -c '%A' "${i}" | cut -b 5,6) = "rw" ]; then
|
||||
echo "**** permissions for ${i} are good ****"
|
||||
# check if device needs to be added to video group
|
||||
elif ! id -G abc | grep -qw "${VIDEO_GID}"; then
|
||||
# check if video group needs to be created
|
||||
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
|
||||
if [ -z "${VIDEO_NAME}" ]; then
|
||||
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c4)"
|
||||
groupadd "${VIDEO_NAME}"
|
||||
groupmod -g "${VIDEO_GID}" "${VIDEO_NAME}"
|
||||
echo "**** creating video group ${VIDEO_NAME} with id ${VIDEO_GID} ****"
|
||||
fi
|
||||
echo "**** adding ${i} to video group ${VIDEO_NAME} with id ${VIDEO_GID} ****"
|
||||
usermod -a -G "${VIDEO_NAME}" abc
|
||||
fi
|
||||
# check if device has group rw
|
||||
if [ $(stat -c '%A' "${i}" | cut -b 5,6) != "rw" ]; then
|
||||
echo -e "**** The device ${i} does not have group read/write permissions, attempting to fix inside the container.If it doesn't work, you can run the following on your docker host: ****\nsudo chmod g+rw ${i}\n"
|
||||
chmod g+rw "${i}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
Loading…
x
Reference in New Issue
Block a user