You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alpine_xfce4_noVNC/Dockerfile

68 lines
1.8 KiB
Docker

ARG ALPINE_VERSION=3.19
FROM alpine:${ALPINE_VERSION}
ARG NOVNC_VERSION=v1.4.0
ARG WEBSOCKIFY_VERSION=v0.11.0
ARG IMAGE_TAG=latest
ARG BUILD_DATE=01.01.1970
LABEL maintainer="Don <novaspirit@novaspirit.com>"
LABEL description="Simple and minimal Alpine Docker Image providing XFCE4 through html5 noVNC connection"
LABEL license="MIT"
LABEL org.opencontainers.image.version="${IMAGE_TAG}"
LABEL build-date="${BUILD_DATE}"
RUN apk add \
alsa-lib-dev \
alsa-plugins-pulse \
bash \
build-base \
cmake \
faenza-icon-theme \
firefox \
git \
nodejs \
npm \
pavucontrol \
pulseaudio \
pulseaudio-alsa \
python3 \
sudo \
tigervnc \
tzdata \
wget \
xfce4 \
xfce4-pulseaudio-plugin \
xfce4-terminal \
xrandr \
--no-cache
RUN adduser -h /home/alpine -s /bin/bash -S -D alpine \
&& echo 'alpine ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& mkdir -p /opt/noVNC/
WORKDIR /opt
RUN git clone -b "${NOVNC_VERSION}" --single-branch https://github.com/novnc/noVNC.git /opt/noVNC \
&& rm -rf /opt/noVNC/.git/
RUN git clone -b "${WEBSOCKIFY_VERSION}" --single-branch https://github.com/novnc/websockify.git /opt/noVNC/utils/websockify \
&& rm -rf /opt/noVNC/utils/websockify/.git/
RUN npm install --prefix /opt/noVNC ws \
&& npm install --prefix /opt/noVNC audify
COPY script.js audify.js index.html pcm-player.js /opt/noVNC/
COPY entrypoint.sh /
USER alpine
WORKDIR /home/alpine
RUN mkdir -p /home/alpine/.vnc \
&& echo -e "-Securitytypes=none" > /home/alpine/.vnc/config \
&& echo -e "#!/bin/bash\nstartxfce4 &" > /home/alpine/.vnc/xstartup \
&& echo -e "alpine\nalpine\nn\n" | vncpasswd
USER alpine
ENTRYPOINT [ "/bin/bash", "/entrypoint.sh" ]