Hello01 / Dockerfile
Theright07's picture
Update Dockerfile
1ab4a0c verified
Raw
History Blame
1.79 kB
FROM python:3.11-slim
ENV DEBIAN_FRONTEND=noninteractive \
ANDROID_SDK_ROOT=/opt/android-sdk \
ANDROID_HOME=/opt/android-sdk \
JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 \
GRADLE_USER_HOME=/tmp/.gradle \
HF_HOME=/tmp/hf_cache \
PATH=/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/usr/lib/jvm/java-21-openjdk-amd64/bin:/opt/gradle-8.7/bin:$PATH
# Base tooling
RUN apt-get update && apt-get install -y --no-install-recommends \
git curl wget unzip zip ca-certificates \
openjdk-21-jdk-headless \
build-essential cmake \
&& rm -rf /var/lib/apt/lists/*
# Android cmdline tools + SDK
RUN mkdir -p $ANDROID_SDK_ROOT/cmdline-tools && \
cd /tmp && \
wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdtools.zip && \
unzip -q cmdtools.zip && \
mv cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/latest && \
rm cmdtools.zip && \
yes | sdkmanager --licenses >/dev/null 2>&1 || true && \
sdkmanager --install "platform-tools" "platforms;android-34" "build-tools;34.0.0" >/dev/null
# Gradle
RUN wget -q https://services.gradle.org/distributions/gradle-8.7-bin.zip -O /tmp/gradle.zip && \
unzip -q /tmp/gradle.zip -d /opt && \
ln -s /opt/gradle-8.7/bin/gradle /usr/local/bin/gradle && \
rm /tmp/gradle.zip
# HF Spaces runs as user 1000
RUN useradd -m -u 1000 user && \
mkdir -p /app /workspace /tmp/.gradle /tmp/hf_cache && \
chown -R user:user /app /workspace /tmp/.gradle /tmp/hf_cache $ANDROID_SDK_ROOT
USER user
WORKDIR /app
COPY --chown=user:user requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
COPY --chown=user:user . .
EXPOSE 7860
CMD ["python", "app.py"]