-
Andri Joos authored15c4f56e
Dockerfile 1.52 KiB
ARG IMAGE_SERVER="registry.420joos.dev"
ARG FLUTTER_VERSION="3.24.0"
ARG DEPENDENCY_DIR="/tmp/dependencies"
ARG FLUTTER_URL="https://github.com/flutter/flutter"
FROM $IMAGE_SERVER/ubuntu:22.04 AS download
ARG FLUTTER_URL
ARG FLUTTER_VERSION
ARG DEPENDENCY_DIR
ARG FLUTTER_DIR="$DEPENDENCY_DIR/flutter"
ARG TMP_DEPENDENCIES_DIR="$DEPENDENCY_DIR/tmp"
ARG GLIBC_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r1"
RUN apt update \
&& apt install -y wget git \
&& git clone -b $FLUTTER_VERSION --depth 1 "${FLUTTER_URL}.git" $FLUTTER_DIR \
&& cd $FLUTTER_DIR \
&& git gc --prune=all \
# && wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \
# && tar xf flutter_linux_${FLUTTER_VERSION}-stable.tar.xz --strip-components=1 --directory $FLUTTER_DIR \
&& wget "$GLIBC_URL/glibc-2.35-r1.apk" --directory-prefix $TMP_DEPENDENCIES_DIR \
&& wget "$GLIBC_URL/glibc-bin-2.35-r1.apk" --directory-prefix $TMP_DEPENDENCIES_DIR
FROM alpine:3.20
ARG DEPENDENCY_DIR
ENV FLUTTER_HOME "/flutter"
ENV PATH $PATH:$FLUTTER_HOME/bin
ENV FLUTTER_GIT_URL "unknown source"
COPY --from=download $DEPENDENCY_DIR /
RUN wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
&& apk add --no-cache --force-overwrite curl bash git tmp/glibc-2.35-r1.apk tmp/glibc-bin-2.35-r1.apk \
&& rm -r /tmp/* \
&& dart --disable-analytics && flutter config --no-analytics \
&& flutter precache --universal