fcwu / docker-ubuntu-vnc-desktop

A Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.
Apache License 2.0
3.91k stars 1.42k forks source link

docker build fails #278

Open gauravmeena83 opened 2 years ago

gauravmeena83 commented 2 years ago

make build

Step 21/42 : RUN sed -i 's#app/locale/#novnc/app/locale/#g' /src/web/dist/static/novnc/app/ui.js ---> Running in e5be1f645f2c sed: can't read /src/web/dist/static/novnc/app/ui.js: No such file or directory The command '/bin/sh -c sed -i 's#app/locale/#novnc/app/locale/#g' /src/web/dist/static/novnc/app/ui.js' returned a non-zero code: 2 make: *** [Makefile:19: build] Error 2

RTL8710 commented 2 years ago

Copy the frontend file of the official docker image to the dist of the web directory, modify the docker, shield the compiled dist part and establish soft links. Dockerfile:

`

Built with arch: amd64 flavor: lxde image: ubuntu:20.04

# ################################################################################

base system

################################################################################

FROM ubuntu:20.04 as system

RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list;

built-in packages

ENV DEBIAN_FRONTEND noninteractive RUN apt update \ && apt install -y --no-install-recommends software-properties-common curl apache2-utils \ && apt update \ && apt install -y --no-install-recommends --allow-unauthenticated \ supervisor nginx sudo net-tools zenity xz-utils \ dbus-x11 x11-utils alsa-utils \ mesa-utils libgl1-mesa-dri \ && apt autoclean -y \ && apt autoremove -y \ && rm -rf /var/lib/apt/lists/*

install debs error if combine together

RUN apt update \ && apt install -y --no-install-recommends --allow-unauthenticated \ xvfb x11vnc \ vim-tiny firefox ttf-ubuntu-font-family ttf-wqy-zenhei \ && apt autoclean -y \ && apt autoremove -y \ && rm -rf /var/lib/apt/lists/*

RUN apt update \ && apt install -y gpg-agent \ && curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ && (dpkg -i ./google-chrome-stable_current_amd64.deb || apt-get install -fy) \ && curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add \ && rm google-chrome-stable_current_amd64.deb \ && rm -rf /var/lib/apt/lists/*

RUN apt update \ && apt install -y --no-install-recommends --allow-unauthenticated \ lxde gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf gtk2-engines-murrine arc-theme \ && apt autoclean -y \ && apt autoremove -y \ && rm -rf /var/lib/apt/lists/*

Additional packages require ~600MB

libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw

tini to fix subreap

ARG TINI_VERSION=v0.19.0 ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /bin/tini RUN chmod +x /bin/tini

ffmpeg

RUN apt update \ && apt install -y --no-install-recommends --allow-unauthenticated \ ffmpeg \ && rm -rf /var/lib/apt/lists/* \ && mkdir /usr/local/ffmpeg \ && ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg

python library

COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ RUN apt-get update \ && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ && apt-get install -y python3-pip python3-dev build-essential \ && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \ && ln -s /usr/bin/python3 /usr/local/bin/python \ && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ && apt-get remove -y diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs \ && apt-get autoclean -y \ && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/ \ && rm -rf /var/cache/apt/ /tmp/a.txt /tmp/b.txt

################################################################################

builder

################################################################################ FROM ubuntu:20.04 as builder

RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list;

RUN apt-get update \ && apt-get install -y --no-install-recommends curl ca-certificates gnupg patch

nodejs

RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - \ && apt-get install -y nodejs

yarn

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ && apt-get update \ && apt-get install -y yarn

build frontend

COPY web /src/web

RUN cd /src/web \

&& yarn \

&& yarn build

RUN sed -i 's#app/locale/#novnc/app/locale/#' /src/web/dist/static/novnc/app/ui.js

################################################################################

merge

################################################################################ FROM system LABEL maintainer="fcwu.tw@gmail.com"

RUN ls /src/web/dist/

COPY --from=builder /src/web/dist/ /usr/local/lib/web/frontend/ RUN ls /usr/local/lib/web/frontend/static/novnc/utils/websockify COPY rootfs /

RUN ln -sf /usr/local/lib/web/frontend/static/novnc/utils/websockify /usr/local/lib/web/frontend/static/websockify && \

chmod +x /usr/local/lib/web/frontend/static/websockify/run

EXPOSE 80 WORKDIR /root ENV HOME=/home/ubuntu \ SHELL=/bin/bash HEALTHCHECK --interval=30s --timeout=5s CMD curl --fail http://127.0.0.1:6079/api/health ENTRYPOINT ["/startup.sh"] `

naisy commented 2 years ago

@gauravmeena83 I ran into the same problem, but this problem was solved with #187.

https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/develop/DEVELOPMENT.md

git clone --recursive https://github.com/fcwu/docker-ubuntu-vnc-desktop or, if you have already cloned it, get submodules contents : git submodule init; git submodule update