Files
Obtainium/docker/Dockerfile

85 lines
2.9 KiB
Docker

FROM ubuntu:22.04
ENV DEBIAN_FRONTEND noninteractive
ENV ANDROID_SDK_ROOT /opt/android-sdk-linux
ENV PATH "${PATH}:/opt/flutter/bin:/root/.pub-cache/bin:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:/opt/android-sdk-linux/platform-tools"
ENV HOME=/root
# Prereqs
RUN \
apt-get update &&\
apt-get install -y --no-install-recommends \
bash \
curl \
file \
git 2.x \
unzip \
xz-utils \
zip \
libglu1-mesa \
libxi-dev \
libxmu-dev \
libglu1-mesa-dev \
git-lfs \
openssl \
wget
# Build prereqs
RUN \
apt-get install -y \
cmake curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback lib32stdc++6 python3 sed \
cmake ninja-build build-essential libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev clang pkg-config libgtk-3-dev \
liblzma-dev libmount-dev libblkid-dev libgcrypt20-dev libgpg-error-dev libssl-dev libpng-dev libjpeg-dev \
libtiff-dev libgif-dev libgtk-3-dev
# Android SDK prequisites
# https://developer.android.com/studio#command-tools
RUN \
apt-get install -y --no-install-recommends \
git \
git-lfs \
openssl \
wget \
unzip
# Android SDK
RUN \
wget --quiet https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/tools.zip && \
mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
unzip -q /tmp/tools.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools && \
mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/latest && \
rm -v /tmp/tools.zip && \
mkdir -p /root/.android/ && touch /root/.android/repositories.cfg &&\
apt-get install -y --no-install-recommends openjdk-17-jdk openjdk-17-jre &&\
yes | sdkmanager --licenses &&\
sdkmanager --update
# Platform tools
# Get latest with sdkmanager --list
RUN sdkmanager --install "build-tools;33.0.1"
RUN sdkmanager --install "ndk;26.3.11579264"
RUN sdkmanager --install "cmake;3.31.4"
RUN sdkmanager --install platform-tools
RUN sdkmanager --install emulator
RUN sdkmanager --install tools
RUN sdkmanager --install "platforms;android-28"
RUN sdkmanager --install "platforms;android-31"
RUN sdkmanager --install "platforms;android-33"
RUN sdkmanager --install "platforms;android-35"
RUN sdkmanager --install "platforms;android-34"
RUN sdkmanager --install "platforms;android-32"
# Flutter
ARG DEV_UID=0
RUN \
wget --quiet https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.29.0-stable.tar.xz -O /tmp/flutter.tar.xz &&\
mkdir -p /opt &&\
cd /opt &&\
tar xf /tmp/flutter.tar.xz &&\
rm /tmp/flutter.tar.xz &&\
git config --global --add safe.directory /opt/flutter &&\
dart pub global activate cider &&\
chown -R ${DEV_UID} /opt/flutter
RUN flutter --disable-analytics
RUN flutter upgrade
RUN chmod a+w /opt/flutter/packages -R