FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_SDK_ROOT=/opt/android-sdk ENV ANDROID_HOME=/opt/android-sdk ENV GRADLE_HOME=/opt/gradle/gradle-7.6 ENV PATH="${PATH}:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools:${ANDROID_SDK_ROOT}/build-tools/34.0.0:${GRADLE_HOME}/bin" ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 RUN apt-get update && apt-get install -y \ openjdk-17-jdk \ python3 \ python3-pip \ wget \ unzip \ curl \ git \ zip \ file \ && rm -rf /var/lib/apt/lists/* RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \ cd ${ANDROID_SDK_ROOT}/cmdline-tools && \ wget -q https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip -O cmdline-tools.zip && \ unzip -q cmdline-tools.zip && \ mv cmdline-tools latest && \ rm cmdline-tools.zip RUN yes | sdkmanager --licenses > /dev/null 2>&1 || true RUN sdkmanager "platforms;android-34" "build-tools;34.0.0" "build-tools;30.0.3" "platform-tools" RUN mkdir -p /opt/gradle && \ cd /opt/gradle && \ wget -q https://services.gradle.org/distributions/gradle-7.6-bin.zip -O gradle.zip && \ unzip -q gradle.zip && \ rm gradle.zip RUN mkdir -p /home/user/.gradle && \ echo "org.gradle.jvmargs=-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" > /home/user/.gradle/gradle.properties && \ echo "org.gradle.daemon=false" >> /home/user/.gradle/gradle.properties && \ echo "org.gradle.parallel=true" >> /home/user/.gradle/gradle.properties && \ echo "org.gradle.caching=true" >> /home/user/.gradle/gradle.properties && \ echo "android.useAndroidX=true" >> /home/user/.gradle/gradle.properties RUN useradd -m -u 1000 user && \ chown -R user:user /opt/android-sdk && \ chown -R user:user /opt/gradle && \ chown -R user:user /home/user WORKDIR /app COPY requirements.txt . RUN pip3 install --no-cache-dir -r requirements.txt COPY . . RUN chown -R user:user /app USER user EXPOSE 7860 CMD ["python3", "app.py"]