File size: 2,059 Bytes
1bdf2bc
 
afcd6c8
 
1bdf2bc
afcd6c8
 
 
1bdf2bc
afcd6c8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1bdf2bc
 
afcd6c8
 
1bdf2bc
afcd6c8
 
 
 
1bdf2bc
 
afcd6c8
 
 
 
 
 
3755ca4
afcd6c8
 
 
 
1bdf2bc
afcd6c8
1bdf2bc
afcd6c8
1bdf2bc
 
afcd6c8
e8bd628
afcd6c8
 
 
1bdf2bc
afcd6c8
d6b9cbb
1bdf2bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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"]