File size: 1,537 Bytes
8d001f3
922248b
e2bfd4f
6252a49
 
e2bfd4f
922248b
 
8d001f3
 
92a3707
 
023fa28
 
 
e2bfd4f
 
 
 
 
 
922248b
 
e2bfd4f
0b9b2e8
e2bfd4f
 
0b9b2e8
922248b
e2bfd4f
0b9b2e8
8d001f3
023fa28
0b9b2e8
922248b
0b9b2e8
922248b
e2bfd4f
 
 
 
 
 
 
 
0489302
0b9b2e8
92a3707
e2bfd4f
 
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
FROM ubuntu:22.04

# Interactive prompts ko disable karne ke liye
ENV DEBIAN_FRONTEND=noninteractive

# Zaroori system tools, XFCE4 Desktop, VNC, aur NoVNC install karna
RUN apt-get update && apt-get install -y \
    curl \
    git \
    sudo \
    wget \
    unzip \
    openjdk-17-jdk \
    python3 \
    python3-pip \
    xfce4 \
    xfce4-goodies \
    tigervnc-standalone-server \
    tigervnc-xorg-extension \
    novnc \
    websockify \
    && rm -rf /var/lib/apt/lists/*

# Hugging Face ke liye user setup
RUN useradd -m -u 1000 user

# 'user' ko bina password ke sudo access dena
RUN echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

# User aur environment permissions setup karna
USER user
ENV HOME=/home/user \
    ANDROID_HOME=/home/user/android-sdk \
    PATH=/home/user/.local/bin:/home/user/android-sdk/cmdline-tools/latest/bin:/home/user/android-sdk/platform-tools:$PATH

WORKDIR $HOME/app

# VNC server ke liye localhost aur base screen password set karna
RUN mkdir -p $HOME/.vnc && \
    echo "password" | vncpasswd -f > $HOME/.vnc/passwd && \
    chmod 600 $HOME/.vnc/passwd

# VNC ki startup settings setup karna taaki XFCE Desktop load ho
RUN echo "#!/bin/sh\nunset SESSION_MANAGER\nunset DBUS_SESSION_BUS_ADDRESS\nstartxfce4 &" > $HOME/.vnc/xstartup && \
    chmod +x $HOME/.vnc/xstartup

COPY --chown=user:user . .

# VNC server run karna aur NoVNC ko port 7860 par expose karna (Hugging Face Default Port)
CMD vncserver :1 -geometry 1280x720 -depth 24 && websockify --web /usr/share/novnc/ 7860 localhost:5901