proti0070 commited on
Commit
70012d7
·
verified ·
1 Parent(s): f961b03

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +44 -72
Dockerfile CHANGED
@@ -7,110 +7,82 @@ ENV HOSTNAME=xro
7
  # Base packages
8
  # -----------------------------
9
  RUN apt-get update && apt-get install -y \
10
- ca-certificates \
11
- curl \
12
- wget \
13
- git \
14
- sudo \
15
- htop \
16
- btop \
17
- neovim \
18
- nano \
19
- lsof \
20
- tmux \
21
- screen \
22
- unzip \
23
- zip \
24
- python3 \
25
- python3-pip \
26
- libxtst6 \
27
- libxrender1 \
28
- libxi6 \
29
- libxext6 \
30
- libx11-6 \
31
- libxrandr2 \
32
- libxfixes3 \
33
- libxcursor1 \
34
- libxcomposite1 \
35
- libxdamage1 \
36
- libxss1 \
37
- libglib2.0-0 \
38
- libgtk-3-0 \
39
- libatk1.0-0 \
40
- fonts-dejavu \
41
- fonts-liberation \
42
- xvfb \
43
- x11vnc \
44
- novnc \
45
- websockify \
46
- openbox \
47
- xterm \
48
- openjdk-17-jdk \
49
- gradle \
50
- && rm -rf /var/lib/apt/lists/*
51
 
52
  # -----------------------------
53
  # Android SDK
54
  # -----------------------------
55
  RUN mkdir -p /opt/android-sdk/cmdline-tools && \
56
- wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdtools.zip && \
57
- unzip /tmp/cmdtools.zip -d /opt/android-sdk/cmdline-tools && \
58
- mv /opt/android-sdk/cmdline-tools/cmdline-tools /opt/android-sdk/cmdline-tools/latest && \
59
- rm /tmp/cmdtools.zip
60
 
61
  ENV ANDROID_HOME=/opt/android-sdk
62
  ENV ANDROID_SDK_ROOT=/opt/android-sdk
63
  ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
64
 
65
- # Accept licenses
66
  RUN yes | sdkmanager --licenses
67
 
68
- # Install SDKs (new + old for ARMv7 support)
69
  RUN sdkmanager \
70
- "platform-tools" \
71
- "platforms;android-34" \
72
- "platforms;android-33" \
73
- "platforms;android-30" \
74
- "platforms;android-29" \
75
- "platforms;android-28" \
76
- "platforms;android-26" \
77
- "platforms;android-24" \
78
- "platforms;android-23" \
79
- "platforms;android-21" \
80
- "build-tools;34.0.0" \
81
- "build-tools;33.0.2" \
82
- "build-tools;30.0.3" \
83
- "build-tools;29.0.3" \
84
- "build-tools;28.0.3" \
85
- "sources;android-34" \
86
- "sources;android-30" \
87
- "cmake;3.22.1" \
88
- "ndk;26.1.10909125" \
89
- "ndk;23.2.8568313" \
90
- "ndk;21.4.7075529"
91
 
92
  # -----------------------------
93
  # Android Studio
94
  # -----------------------------
95
  RUN wget -q https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2023.3.1.18/android-studio-2023.3.1.18-linux.tar.gz -O /tmp/android-studio.tar.gz && \
96
- tar -xzf /tmp/android-studio.tar.gz -C /opt/ && \
97
- rm /tmp/android-studio.tar.gz
98
 
99
  ENV PATH=$PATH:/opt/android-studio/bin
100
 
101
  # -----------------------------
102
- # noVNC fix
103
  # -----------------------------
104
- RUN ln -s /usr/share/novnc/vnc.html /usr/share/novnc/index.html || true
 
 
 
105
 
106
  # -----------------------------
107
  # Workspace
108
  # -----------------------------
109
  WORKDIR /workspace
110
 
 
111
  COPY start.sh /start.sh
112
  RUN chmod +x /start.sh
113
 
 
114
  EXPOSE 7860
115
 
116
  CMD ["/start.sh"]
 
7
  # Base packages
8
  # -----------------------------
9
  RUN apt-get update && apt-get install -y \
10
+ ca-certificates \
11
+ curl \
12
+ wget \
13
+ git \
14
+ sudo \
15
+ htop \
16
+ neovim \
17
+ nano \
18
+ lsof \
19
+ tmux \
20
+ unzip \
21
+ zip \
22
+ python3 \
23
+ python3-pip \
24
+ openjdk-17-jdk \
25
+ && rm -rf /var/lib/apt/lists/*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  # -----------------------------
28
  # Android SDK
29
  # -----------------------------
30
  RUN mkdir -p /opt/android-sdk/cmdline-tools && \
31
+ wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdtools.zip && \
32
+ unzip /tmp/cmdtools.zip -d /opt/android-sdk/cmdline-tools && \
33
+ mv /opt/android-sdk/cmdline-tools/cmdline-tools /opt/android-sdk/cmdline-tools/latest && \
34
+ rm /tmp/cmdtools.zip
35
 
36
  ENV ANDROID_HOME=/opt/android-sdk
37
  ENV ANDROID_SDK_ROOT=/opt/android-sdk
38
  ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
39
 
40
+ # Accept all SDK licenses
41
  RUN yes | sdkmanager --licenses
42
 
43
+ # Install SDKs including old ones for ARM support
44
  RUN sdkmanager \
45
+ "platform-tools" \
46
+ "platforms;android-34" \
47
+ "platforms;android-30" \
48
+ "platforms;android-28" \
49
+ "platforms;android-26" \
50
+ "platforms;android-24" \
51
+ "platforms;android-21" \
52
+ "build-tools;34.0.0" \
53
+ "build-tools;30.0.3" \
54
+ "build-tools;28.0.3" \
55
+ "ndk;26.1.10909125" \
56
+ "ndk;23.2.8568313" \
57
+ "cmake;3.22.1"
 
 
 
 
 
 
 
 
58
 
59
  # -----------------------------
60
  # Android Studio
61
  # -----------------------------
62
  RUN wget -q https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2023.3.1.18/android-studio-2023.3.1.18-linux.tar.gz -O /tmp/android-studio.tar.gz && \
63
+ tar -xzf /tmp/android-studio.tar.gz -C /opt/ && \
64
+ rm /tmp/android-studio.tar.gz
65
 
66
  ENV PATH=$PATH:/opt/android-studio/bin
67
 
68
  # -----------------------------
69
+ # Install Projector (headless IDE server)
70
  # -----------------------------
71
+ RUN pip install projector-installer
72
+
73
+ # Install Android Studio via Projector in non-interactive mode
74
+ RUN projector install android-studio --ide Idea_Community --quick --accept-license
75
 
76
  # -----------------------------
77
  # Workspace
78
  # -----------------------------
79
  WORKDIR /workspace
80
 
81
+ # Copy start script
82
  COPY start.sh /start.sh
83
  RUN chmod +x /start.sh
84
 
85
+ # Expose Projector default port
86
  EXPOSE 7860
87
 
88
  CMD ["/start.sh"]