apk / Dockerfile
Poorpoor6976's picture
Update Dockerfile
afcd6c8 verified
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"]