| FROM ubuntu:22.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV TZ=UTC |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| |
| wget curl git unzip zip \ |
| openjdk-17-jdk \ |
| |
| xvfb x11vnc fluxbox \ |
| libxrender1 libxtst6 libxi6 libfontconfig1 \ |
| libgtk-3-0 libnss3 libxss1 libasound2 libgbm1 \ |
| |
| nginx \ |
| |
| supervisor \ |
| |
| tini \ |
| |
| nodejs npm \ |
| |
| nano vim htop \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 |
| ENV PATH=$PATH:$JAVA_HOME/bin |
|
|
| |
| RUN wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.19/android-studio-2022.3.1.19-linux.tar.gz && \ |
| tar -xzf android-studio-2022.3.1.19-linux.tar.gz -C /opt/ && \ |
| rm android-studio-2022.3.1.19-linux.tar.gz |
|
|
| |
| RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip && \ |
| mkdir -p /opt/android-sdk/cmdline-tools && \ |
| unzip commandlinetools-linux-9477386_latest.zip -d /opt/android-sdk/cmdline-tools/ && \ |
| mv /opt/android-sdk/cmdline-tools/cmdline-tools /opt/android-sdk/cmdline-tools/latest && \ |
| rm commandlinetools-linux-9477386_latest.zip |
|
|
| |
| RUN wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip && \ |
| unzip platform-tools-latest-linux.zip -d /opt/android-sdk/ && \ |
| rm platform-tools-latest-linux.zip |
|
|
| |
| ENV ANDROID_HOME=/opt/android-sdk |
| ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools |
|
|
| |
| RUN yes | /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses || true |
|
|
| |
| RUN /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager \ |
| "platform-tools" \ |
| "platforms;android-33" \ |
| "build-tools;33.0.0" |
|
|
| |
| RUN git clone https://github.com/novnc/noVNC.git /opt/novnc && \ |
| git clone https://github.com/novnc/websockify.git /opt/novnc/utils/websockify |
|
|
| |
| RUN wget https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -O /usr/local/bin/ttyd && \ |
| chmod +x /usr/local/bin/ttyd |
|
|
| |
| WORKDIR /app |
|
|
| |
| COPY package.json server.js ./ |
| COPY public/ ./public/ |
| COPY nginx.conf /etc/nginx/nginx.conf |
| COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf |
| COPY start.sh /start.sh |
|
|
| |
| RUN npm install |
|
|
| |
| RUN mkdir -p /workspace/projects /workspace/.android |
|
|
| |
| RUN chmod +x /start.sh && \ |
| chmod -R 777 /workspace |
|
|
| |
| EXPOSE 7860 |
|
|
| ENTRYPOINT ["/usr/bin/tini", "--"] |
| CMD ["/start.sh"] |