-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDockerfile
25 lines (22 loc) · 1.06 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FROM node:17.3.0-alpine3.13
RUN mkdir -p app
COPY Cargo.toml app/Cargo.toml
COPY Cargo.lock app/Cargo.lock
COPY *.mjs app/
COPY *.rs app/
COPY libmp3lame.zip app/libmp3lame.zip
COPY vpx.gz app/vpx.gz
COPY opus.gz app/opus.gz
COPY sample-5s.webm app/sample-5s.webm
COPY sample.mp4 app/sample.mp4
COPY sample-av1.webm app/sample-av1.webm
COPY aac.patch app/aac.patch
COPY hevc_ps.patch app/hevc_ps.patch
RUN apk add curl
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
RUN source "$HOME/.cargo/env"
RUN apk add yasm nasm curl git make ca-certificates pkgconfig bash cmake make cmake build-base llvm-static llvm-dev clang-static clang-dev perl zlib zlib-dev meson ninja autoconf automake libtool patchelf
RUN cd app && CFLAGS="$CFLAGS -static-libgcc" CXXFLAGS="$CXXFLAGS -static-libgcc -static-libstdc++" LDFLAGS="$LDFLAGS -static-libgcc -static-libstdc++" node compile-ffmpeg.mjs musl
RUN source "$HOME/.cargo/env" && cd app && node generate-bindings.mjs musl
RUN source "$HOME/.cargo/env" && cd app && node zip.mjs
RUN source "$HOME/.cargo/env" && cd app && node test-ffmpeg.mjs