Theright07 commited on
Commit
9a4e9d5
·
verified ·
1 Parent(s): 77fcafd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +40 -12
Dockerfile CHANGED
@@ -1,21 +1,49 @@
1
  FROM python:3.11-slim
2
 
3
- WORKDIR /app
 
 
 
 
 
 
4
 
5
- RUN apt-get update && apt-get install -y \
6
- git \
7
- curl \
8
- wget \
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
- RUN pip install --no-cache-dir \
12
- torch \
13
- transformers \
14
- accelerate \
15
- gradio
 
 
 
 
16
 
17
- COPY app.py .
 
 
 
 
18
 
19
- EXPOSE 7860
 
 
 
 
 
 
20
 
 
 
 
 
 
 
 
21
  CMD ["python", "app.py"]
 
1
  FROM python:3.11-slim
2
 
3
+ ENV DEBIAN_FRONTEND=noninteractive \
4
+ ANDROID_SDK_ROOT=/opt/android-sdk \
5
+ ANDROID_HOME=/opt/android-sdk \
6
+ JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
7
+ GRADLE_USER_HOME=/tmp/.gradle \
8
+ HF_HOME=/tmp/hf_cache \
9
+ PATH=/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/usr/lib/jvm/java-17-openjdk-amd64/bin:$PATH
10
 
11
+ # Base tooling
12
+ RUN apt-get update && apt-get install -y --no-install-recommends \
13
+ git curl wget unzip zip ca-certificates \
14
+ openjdk-17-jdk-headless \
15
+ build-essential cmake \
16
  && rm -rf /var/lib/apt/lists/*
17
 
18
+ # Android cmdline tools + SDK
19
+ RUN mkdir -p $ANDROID_SDK_ROOT/cmdline-tools && \
20
+ cd /tmp && \
21
+ wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdtools.zip && \
22
+ unzip -q cmdtools.zip && \
23
+ mv cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/latest && \
24
+ rm cmdtools.zip && \
25
+ yes | sdkmanager --licenses >/dev/null 2>&1 || true && \
26
+ sdkmanager --install "platform-tools" "platforms;android-34" "build-tools;34.0.0" >/dev/null
27
 
28
+ # Gradle
29
+ RUN wget -q https://services.gradle.org/distributions/gradle-8.7-bin.zip -O /tmp/gradle.zip && \
30
+ unzip -q /tmp/gradle.zip -d /opt && \
31
+ ln -s /opt/gradle-8.7/bin/gradle /usr/local/bin/gradle && \
32
+ rm /tmp/gradle.zip
33
 
34
+ # Workdir + perms (HF Spaces runs as user 1000)
35
+ RUN useradd -m -u 1000 user && \
36
+ mkdir -p /app /workspace /tmp/.gradle /tmp/hf_cache && \
37
+ chown -R user:user /app /workspace /tmp/.gradle /tmp/hf_cache $ANDROID_SDK_ROOT
38
+
39
+ USER user
40
+ WORKDIR /app
41
 
42
+ COPY --chown=user:user requirements.txt .
43
+ RUN pip install --no-cache-dir --upgrade pip && \
44
+ pip install --no-cache-dir -r requirements.txt
45
+
46
+ COPY --chown=user:user . .
47
+
48
+ EXPOSE 7860
49
  CMD ["python", "app.py"]