feat: Two staged build

Installs software as root, then compiles as 1000 or ARG BUILD_USER

Signed-off-by: Alix von Schirp <github@avonschirp.bootmedia.de>
This commit is contained in:
2026-02-19 12:42:43 +01:00
parent 087e488ae9
commit 465d4ec3ed

View File

@@ -1,5 +1,6 @@
FROM emscripten/emsdk:5.0.1 AS build FROM emscripten/emsdk:5.0.1 AS build
ARG BUILD_USER=1000
ARG FFMPEG_VERSION=8.0.1 ARG FFMPEG_VERSION=8.0.1
ARG X264_COMMIT=b35605a ARG X264_COMMIT=b35605a
ARG LAME_VERSION=3.100 ARG LAME_VERSION=3.100
@@ -7,13 +8,18 @@ ARG LAME_VERSION=3.100
ARG PREFIX=/opt/ffmpeg ARG PREFIX=/opt/ffmpeg
ARG MAKEFLAGS="-j4" ARG MAKEFLAGS="-j4"
RUN wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc RUN wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
RUN echo "deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main\ndeb-src https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main" > /etc/apt/sources.list.d/llvm.list RUN echo "deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main\ndeb-src https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main" > /etc/apt/sources.list.d/llvm.list
RUN apt-get update RUN apt-get update
RUN apt-get install -y libllvm-20-ocaml-dev libllvm20 llvm-20 llvm-20-dev llvm-20-runtime RUN apt-get install -y libllvm-20-ocaml-dev libllvm20 llvm-20 llvm-20-dev llvm-20-runtime
RUN apt-get install -y libclang-rt-20-dev-wasm32 libclang-rt-20-dev-wasm64 libc++-20-dev-wasm32 libc++abi-20-dev-wasm32 libclang-rt-20-dev-wasm32 libclang-rt-20-dev-wasm64 RUN apt-get install -y libclang-rt-20-dev-wasm32 libclang-rt-20-dev-wasm64 libc++-20-dev-wasm32 libc++abi-20-dev-wasm32 libclang-rt-20-dev-wasm32 libclang-rt-20-dev-wasm64
RUN apt-get update && apt-get install -y autoconf libtool build-essential pkgconf RUN apt-get update && apt-get install -y autoconf libtool build-essential pkgconf
FROM build AS userbuild
USER ${BUILD_USER}
# libx264 # libx264
WORKDIR /tmp/ WORKDIR /tmp/