File size: 3,288 Bytes
0d7bd98
57a6161
 
 
ef6a18b
57a6161
ef6a18b
 
 
 
57a6161
 
 
 
 
ef6a18b
0d7bd98
 
 
57a6161
 
 
ef6a18b
57a6161
 
 
 
 
 
 
ef6a18b
57a6161
0d7bd98
ece95bc
ef6a18b
 
 
 
 
 
 
 
 
 
57a6161
ef6a18b
 
0d7bd98
ece95bc
57a6161
ef6a18b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0d7bd98
57a6161
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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"]