Poorpoor6976 commited on
Commit
afcd6c8
·
verified ·
1 Parent(s): 5528822

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +45 -29
Dockerfile CHANGED
@@ -1,47 +1,63 @@
1
  FROM ubuntu:22.04
2
 
3
- # تثبيت الأدوات الأساسية
4
- RUN apt-get update && apt-get install -y openjdk-17-jdk wget unzip python3 python3-pip curl
5
-
6
- ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
7
  ENV ANDROID_HOME=/opt/android-sdk
8
- ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:/opt/gradle/bin
 
 
9
 
10
- # تحميل Android SDK
11
- RUN mkdir -p $ANDROID_HOME/cmdline-tools && \
12
- wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip && \
13
- unzip -q cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools && \
14
- mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest && \
 
 
 
 
 
 
 
 
 
 
 
 
15
  rm cmdline-tools.zip
16
 
17
- # الموافقة على التراخيص
18
- RUN yes | sdkmanager --licenses > /dev/null && \
19
- sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" > /dev/null
20
 
21
- # تحميل Gradle 7.6
22
- RUN wget -q https://services.gradle.org/distributions/gradle-7.6-bin.zip -O gradle.zip && \
23
- unzip -q gradle.zip -d /opt/ && \
24
- mv /opt/gradle-7.6 /opt/gradle && \
25
  rm gradle.zip
26
 
27
- RUN useradd -m -u 1000 user && \
28
- chown -R user:user /opt/android-sdk /opt/gradle
 
 
 
 
29
 
30
- USER user
31
- ENV HOME=/home/user \
32
- PATH=/home/user/.local/bin:$PATH
 
33
 
34
- WORKDIR $HOME/app
35
 
36
- COPY --chown=user requirements.txt .
37
  RUN pip3 install --no-cache-dir -r requirements.txt
38
 
39
- # إنشاء مجلد الواجهات
40
- RUN mkdir -p templates
41
 
42
- COPY --chown=user . .
 
 
43
 
44
- RUN mkdir -p ~/.gradle && \
45
- echo "org.gradle.daemon=true\norg.gradle.parallel=true\norg.gradle.caching=true\norg.gradle.jvmargs=-Xmx3072m -Dfile.encoding=UTF-8" > ~/.gradle/gradle.properties
46
 
47
  CMD ["python3", "app.py"]
 
1
  FROM ubuntu:22.04
2
 
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV ANDROID_SDK_ROOT=/opt/android-sdk
 
 
5
  ENV ANDROID_HOME=/opt/android-sdk
6
+ ENV GRADLE_HOME=/opt/gradle/gradle-7.6
7
+ 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"
8
+ ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
9
 
10
+ RUN apt-get update && apt-get install -y \
11
+ openjdk-17-jdk \
12
+ python3 \
13
+ python3-pip \
14
+ wget \
15
+ unzip \
16
+ curl \
17
+ git \
18
+ zip \
19
+ file \
20
+ && rm -rf /var/lib/apt/lists/*
21
+
22
+ RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
23
+ cd ${ANDROID_SDK_ROOT}/cmdline-tools && \
24
+ wget -q https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip -O cmdline-tools.zip && \
25
+ unzip -q cmdline-tools.zip && \
26
+ mv cmdline-tools latest && \
27
  rm cmdline-tools.zip
28
 
29
+ RUN yes | sdkmanager --licenses > /dev/null 2>&1 || true
30
+ RUN sdkmanager "platforms;android-34" "build-tools;34.0.0" "build-tools;30.0.3" "platform-tools"
 
31
 
32
+ RUN mkdir -p /opt/gradle && \
33
+ cd /opt/gradle && \
34
+ wget -q https://services.gradle.org/distributions/gradle-7.6-bin.zip -O gradle.zip && \
35
+ unzip -q gradle.zip && \
36
  rm gradle.zip
37
 
38
+ RUN mkdir -p /home/user/.gradle && \
39
+ echo "org.gradle.jvmargs=-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" > /home/user/.gradle/gradle.properties && \
40
+ echo "org.gradle.daemon=false" >> /home/user/.gradle/gradle.properties && \
41
+ echo "org.gradle.parallel=true" >> /home/user/.gradle/gradle.properties && \
42
+ echo "org.gradle.caching=true" >> /home/user/.gradle/gradle.properties && \
43
+ echo "android.useAndroidX=true" >> /home/user/.gradle/gradle.properties
44
 
45
+ RUN useradd -m -u 1000 user && \
46
+ chown -R user:user /opt/android-sdk && \
47
+ chown -R user:user /opt/gradle && \
48
+ chown -R user:user /home/user
49
 
50
+ WORKDIR /app
51
 
52
+ COPY requirements.txt .
53
  RUN pip3 install --no-cache-dir -r requirements.txt
54
 
55
+ COPY . .
 
56
 
57
+ RUN chown -R user:user /app
58
+
59
+ USER user
60
 
61
+ EXPOSE 7860
 
62
 
63
  CMD ["python3", "app.py"]