From 7568e344b384de33c29fe877199b3689875bb961 Mon Sep 17 00:00:00 2001 From: 4831c0 <4831c0@proton.me> Date: Thu, 10 Apr 2025 13:29:22 +0200 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ Dockerfile | 53 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 8 +++++++ 3 files changed, 63 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6c75e90 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +cache +work diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3494d4b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,53 @@ +FROM archlinux + +RUN pacman-key --init +RUN pacman -Syu --noconfirm +RUN pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com +RUN pacman-key --lsign-key 3056513887B78AEB +RUN pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' --noconfirm +RUN pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst' --noconfirm +RUN <> /etc/pacman.conf +[chaotic-aur] +Include = /etc/pacman.d/chaotic-mirrorlist +EOF +RUN pacman -Syu base-devel android-sdk-cmdline-tools-latest flutter-bin jdk21-openjdk --noconfirm + +RUN <> /root/init.sh +#!/bin/bash +export PATH="/opt/flutter/bin/:$PATH" +source /etc/profile +git config --global --add safe.directory /opt/flutter + +yes | sdkmanager --licenses +sdkmanager --install "build-tools;36.0.0" "cmake;3.22.1" "cmdline-tools;latest" "ndk;27.0.12077973" "platforms;android-35" "sources;android-35" +EOF + +RUN chmod +x /root/*.sh +RUN /root/init.sh + +RUN mkdir /src +RUN mkdir /work +RUN useradd user -u 1000 -r --create-home +RUN chown -R user /opt/flutter/ +RUN chown -R user /opt/android-sdk +RUN chown -R user /src +RUN chown -R user /work + +USER user + +RUN <> /home/user/entrypoint.sh +#!/bin/bash +export PATH="/opt/flutter/bin/:$PATH" +source /etc/profile + +flutter config --no-analytics --no-cli-animations + +cp -r /src/* /work +cd /work/firka +flutter pub get +flutter build apk --release --verbose +EOF + +RUN chmod +x /home/user/*.sh + +ENTRYPOINT [ "/home/user/entrypoint.sh" ] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..499b76a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +services: + firka-builder: + build: . + volumes: + - ../firka:/src + - ./work:/work + - ./cache/gradle:/home/user/.gradle + - ./cache/pub-cache:/home/user/.pub-cache