Merge pull request #577 from GlassedSilver/master

Dockerfile uses Ubuntu 20.04, fix obtain ffmpeg
pull/586/head
Glassed Silver 4 years ago committed by GitHub
commit 2c6485acb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,14 +1,20 @@
FROM alpine:latest AS ffmpeg FROM ubuntu:20.04 AS ffmpeg
COPY docker-build.sh . COPY docker-build.sh .
RUN sh ./docker-build.sh RUN sh ./docker-build.sh
FROM alpine:latest as frontend FROM ubuntu:20.04 as frontend
RUN apk add --no-cache \ ENV DEBIAN_FRONTEND=noninteractive
npm RUN apt-get update && apt-get -y install \
wget \
RUN npm install -g @angular/cli curl \
gnupg && \
curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
apt-get -y install \
nodejs \
npm && \
npm install -g @angular/cli
WORKDIR /build WORKDIR /build
COPY [ "package.json", "package-lock.json", "/build/" ] COPY [ "package.json", "package-lock.json", "/build/" ]
@ -20,37 +26,33 @@ RUN npm run build
#--------------# #--------------#
FROM alpine:latest FROM ubuntu:20.04
ENV UID=1000 \ ENV UID=1000 \
GID=1000 \ GID=1000 \
USER=youtube USER=youtube \
NO_UPDATE_NOTIFIER=true
ENV NO_UPDATE_NOTIFIER=true
RUN addgroup -S $USER -g $GID && adduser -D -S $USER -G $USER -u $UID RUN groupadd -g $GID $USER && useradd --system -g $USER --uid $UID $USER
RUN apk add --no-cache \ RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
apt-get update && apt-get -y install \
npm \ npm \
python2 \ python2 \
python3 \ python3 \
su-exec \ atomicparsley
&& apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \
atomicparsley \
&& apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main/ \
musl
WORKDIR /app WORKDIR /app
COPY --from=ffmpeg /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg COPY --from=ffmpeg /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg
COPY --from=ffmpeg /usr/local/bin/ffprobe /usr/local/bin/ffprobe COPY --from=ffmpeg /usr/local/bin/ffprobe /usr/local/bin/ffprobe
COPY --chown=$UID:$GID [ "backend/package.json", "backend/package-lock.json", "/app/" ] COPY --chown=$UID:$GID [ "backend/package.json", "backend/package-lock.json", "/app/" ]
ENV PM2_HOME=/app/pm2 ENV PM2_HOME=/app/pm2
RUN npm install pm2 -g RUN npm install pm2 -g && \
RUN npm install && chown -R $UID:$GID ./ npm install && chown -R $UID:$GID ./
COPY --chown=$UID:$GID --from=frontend [ "/build/backend/public/", "/app/public/" ] COPY --chown=$UID:$GID --from=frontend [ "/build/backend/public/", "/app/public/" ]
COPY --chown=$UID:$GID [ "/backend/", "/app/" ] COPY --chown=$UID:$GID [ "/backend/", "/app/" ]
EXPOSE 17442 EXPOSE 17442
ENTRYPOINT [ "/app/entrypoint.sh" ] # ENTRYPOINT [ "/app/entrypoint.sh" ]
CMD [ "pm2-runtime", "pm2.config.js" ] CMD [ "pm2-runtime", "pm2.config.js" ]

@ -23,7 +23,14 @@ case $(uname -m) in
esac esac
echo "Architecture: $ARCH" echo "Architecture: $ARCH"
wget "https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" -O ffmpeg.txz apt-get -y install curl
curl --connect-timeout 5 \
--max-time 10 \
--retry 5 \
--retry-delay 0 \
--retry-max-time 40 \
"https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-${ARCH}-static.tar.xz" -o ffmpeg.txz
apt-get remove curl
mkdir /tmp/ffmpeg mkdir /tmp/ffmpeg
tar xf ffmpeg.txz -C /tmp/ffmpeg tar xf ffmpeg.txz -C /tmp/ffmpeg
cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg cp /tmp/ffmpeg/*/ffmpeg /usr/local/bin/ffmpeg

Loading…
Cancel
Save