FROM alpine:3.10 WORKDIR /z ENV ver_forge=0.8.5 \ ver_ogvjs=1.6.1 # download RUN apk add make g++ git bash npm patch wget tar pigz gzip unzip \ && wget https://github.com/digitalbazaar/forge/archive/$ver_forge.tar.gz \ && wget https://github.com/brion/ogv.js/releases/download/$ver_ogvjs/ogvjs-$ver_ogvjs.zip \ && tar -xf $ver_forge.tar.gz \ && unzip ogvjs-$ver_ogvjs.zip \ && cd forge-$ver_forge \ && npm install # customize COPY forge.patch /z # build forge RUN cd forge-$ver_forge \ && patch -p1 < /z/forge.patch \ && npm run build \ && mkdir /z/dist \ && cp -pv dist/forge.sha512.* /z/dist # build ogvjs RUN cd ogvjs-$ver_ogvjs \ && cp -pv \ ogv.js \ ogv-worker-audio.js \ ogv-demuxer-ogg.js \ ogv-demuxer-ogg-wasm.js \ ogv-demuxer-ogg-wasm.wasm \ ogv-demuxer-webm.js \ ogv-demuxer-webm-wasm.js \ ogv-demuxer-webm-wasm.wasm \ ogv-decoder-audio-opus.js \ ogv-decoder-audio-opus-wasm.js \ ogv-decoder-audio-opus-wasm.wasm \ ogv-decoder-audio-vorbis.js \ ogv-decoder-audio-vorbis-wasm.js \ ogv-decoder-audio-vorbis-wasm.wasm \ dynamicaudio.swf \ /z/dist \ # compress && find /z/dist | \ while IFS= read -r x; do \ echo "compressing $x"; \ pigz -11 -I 50 $x; \ done # -I 1000 = 503587 # -I 15 = 503650 (default) # -I 3 = 503994