yasarefe's picture
fix: use full path for sdkmanager to resolve PATH issue
63006a0
FROM node:20
# Install Java and basic tools
RUN apt-get update && apt-get install -y openjdk-17-jdk wget unzip git
# Set Java home
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
# Install Android SDK
ENV ANDROID_HOME=/opt/android-sdk
ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV PATH=${PATH}:/opt/android-sdk/cmdline-tools/cmdline-tools-latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/build-tools/34.0.0
RUN mkdir -p ${ANDROID_HOME}/cmdline-tools && \
cd ${ANDROID_HOME}/cmdline-tools && \
wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip && \
unzip -q cmdline-tools.zip && \
mv cmdline-tools cmdline-tools-latest && \
rm -f cmdline-tools.zip
# Create required directories
RUN mkdir -p /root/.android && \
touch /root/.android/repositories.cfg
# Accept Android SDK licenses and install required packages
RUN yes | /opt/android-sdk/cmdline-tools/cmdline-tools-latest/bin/sdkmanager --licenses && \
/opt/android-sdk/cmdline-tools/cmdline-tools-latest/bin/sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
# Install Gradle
ENV GRADLE_HOME=/opt/gradle
RUN wget -q https://services.gradle.org/distributions/gradle-8.5-bin.zip -O /tmp/gradle.zip && \
unzip -q /tmp/gradle.zip -d /opt && \
mv /opt/gradle-8.5 ${GRADLE_HOME} && \
rm /tmp/gradle.zip
ENV PATH=${PATH}:${GRADLE_HOME}/bin
# Install Bubblewrap
RUN npm install -g @bubblewrap/cli
# Copy app
COPY . /app
WORKDIR /app
# Install dependencies
RUN npm install
# Expose port
EXPOSE 7860
# Start the web server
CMD ["node", "app.js"]