Ubuntu / Dockerfile
YenukaJ's picture
update dockerfile
ef6a18b verified
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
# Install XFCE core (no goodies) + browser + VNC
RUN apt-get update && apt-get install -y --no-install-recommends \
xfce4 \
xfce4-terminal \
thunar \
chromium \
tigervnc-standalone-server \
tigervnc-common \
tigervnc-tools \
novnc \
websockify \
imagemagick \
wget \
ca-certificates \
--no-install-suggests \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Create user
RUN useradd -m -s /bin/bash user
WORKDIR /home/user
# Copy startup script
COPY startup.sh /startup.sh
RUN chmod +x /startup.sh
# Setup VNC dir and noVNC index
RUN mkdir -p /home/user/.vnc && chown -R user:user /home/user
RUN echo '<html><head><meta http-equiv="refresh" content="0; url=vnc.html"></head><body>Redirecting...</body></html>' > /usr/share/novnc/index.html
# Create custom wallpaper with "Built by YenukaJ"
RUN convert -size 1280x720 xc:darkblue \
-gravity center \
-font "DejaVu-Sans-Bold" \
-pointsize 48 \
-fill white \
-annotate +0+0 "Built by YenukaJ" \
/usr/share/backgrounds/xfce/yenukaj_wallpaper.png
# Switch to user
USER user
# Set VNC password and Xauthority
RUN echo "password" | tigervncpasswd -f > /home/user/.vnc/passwd && chmod 600 /home/user/.vnc/passwd
RUN touch /home/user/.Xauthority
# Configure XFCE to use custom wallpaper
RUN mkdir -p /home/user/.config/xfce4/xfconf/xfce-perchannel-xml && \
echo '<?xml version="1.0" encoding="UTF-8"?>' > /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo '<channel name="xfce4-desktop" version="1.0">' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="desktop-icons" type="empty">' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="style" type="int" value="0"/>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' </property>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="backdrop" type="empty">' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="screen0" type="empty">' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="monitor0" type="empty">' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="image-path" type="string" value="/usr/share/backgrounds/xfce/yenukaj_wallpaper.png"/>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' <property name="image-style" type="int" value="5"/>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' </property>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' </property>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo ' </property>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml && \
echo '</channel>' >> /home/user/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
EXPOSE 7860
ENTRYPOINT ["/startup.sh"]