From 2bbcc987e342e25ef8bfa06367cb43d07bab0636 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Mon, 15 Feb 2021 12:08:04 +0100 Subject: [PATCH] Videos: Upgrade Ubuntu base image to 20.10 #703 --- Dockerfile | 2 +- Makefile | 6 +- docker/development/Dockerfile | 27 ++--- .../development/pin-xalt7x-chromium-deb-vaapi | 3 - docker/photoprism/Dockerfile | 24 ++-- docker/photoprism/arm32/Dockerfile | 16 ++- docker/photoprism/arm64/Dockerfile | 16 ++- docker/tensorflow/Dockerfile | 2 +- docker/tensorflow/arm64/Dockerfile | 2 +- frontend/package-lock.json | 104 ------------------ 10 files changed, 50 insertions(+), 152 deletions(-) delete mode 100644 docker/development/pin-xalt7x-chromium-deb-vaapi diff --git a/Dockerfile b/Dockerfile index d444461bb..ac608bb82 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM photoprism/development:20210214 +FROM photoprism/development:20210215 # Set up project directory WORKDIR "/go/src/github.com/photoprism/photoprism" diff --git a/Makefile b/Makefile index 045535b37..643e50ba1 100644 --- a/Makefile +++ b/Makefile @@ -179,7 +179,7 @@ clean: rm -rf storage/cache rm -rf frontend/node_modules docker-development: - docker pull ubuntu:20.04 + docker pull ubuntu:20.10 scripts/docker-build.sh development $(DOCKER_TAG) scripts/docker-push.sh development $(DOCKER_TAG) docker-photoprism: @@ -193,14 +193,14 @@ docker-photoprism-local: docker-photoprism-pull: docker pull photoprism/photoprism:latest docker-photoprism-arm64-preview: - docker pull ubuntu:20.04 + docker pull ubuntu:20.10 scripts/docker-build.sh photoprism-arm64 scripts/docker-push.sh photoprism-arm64 docker-photoprism-arm64: scripts/docker-build.sh photoprism-arm64 $(DOCKER_TAG) scripts/docker-push.sh photoprism-arm64 $(DOCKER_TAG) docker-photoprism-arm32-preview: - docker pull ubuntu:20.04 + docker pull ubuntu:20.10 scripts/docker-build.sh photoprism-arm32 scripts/docker-push.sh photoprism-arm32 docker-photoprism-arm32: diff --git a/docker/development/Dockerfile b/docker/development/Dockerfile index 4f2e02a9a..5c90c5937 100644 --- a/docker/development/Dockerfile +++ b/docker/development/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:20.10 LABEL maintainer="Michael Mayer " @@ -6,7 +6,7 @@ ARG BUILD_TAG ENV DEBIAN_FRONTEND noninteractive -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry && \ echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends && \ echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests && \ @@ -52,25 +52,16 @@ RUN apt-get update && apt-get upgrade && \ firefox \ libheif-examples \ exiftool \ + darktable \ rawtherapee \ ffmpeg \ + ffmpegthumbnailer \ + libavcodec-extra \ lsof \ apache2-utils \ fonts-roboto \ sudo -# Install Chromium Browser via .deb -RUN add-apt-repository -y ppa:xalt7x/chromium-deb-vaapi -COPY /docker/development/pin-xalt7x-chromium-deb-vaapi /etc/apt/preferences.d/pin-xalt7x-chromium-deb-vaapi - -# Install RAW to JPEG converter -RUN sh -c "echo 'deb http://download.opensuse.org/repositories/home:/pmdpalma:/Ubuntu:/20.04:/bucket/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/home:pmdpalma:Ubuntu:20.04:bucket.list" && \ - wget -qO - https://download.opensuse.org/repositories/home:pmdpalma:Ubuntu:20.04:bucket/xUbuntu_20.04/Release.key | apt-key add - && \ - apt-get update && \ - apt-get install chromium-browser chromium-codecs-ffmpeg-extra darktable && \ - apt-get upgrade && \ - apt-get dist-upgrade - # Install & configure TensorFlow for C, # see https://www.tensorflow.org/install/lang_c # @@ -86,8 +77,11 @@ RUN ldconfig # Install NodeJS RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - -RUN apt-get update && \ - apt-get install nodejs && \ +RUN add-apt-repository -y ppa:saiarcot895/chromium-beta && \ + apt-get update && \ + apt-get dist-upgrade && \ + apt-get install chromium-browser chromium-codecs-ffmpeg-extra nodejs && \ + apt-get autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* @@ -117,6 +111,7 @@ ENV GOBIN $GOPATH/bin ENV PATH $GOBIN:/usr/local/go/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV TMPDIR /tmp ENV GO111MODULE on +ENV CGO_CFLAGS "-g -O2 -Wno-return-local-addr" RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" # Download TensorFlow model and test files diff --git a/docker/development/pin-xalt7x-chromium-deb-vaapi b/docker/development/pin-xalt7x-chromium-deb-vaapi deleted file mode 100644 index 7adc90db1..000000000 --- a/docker/development/pin-xalt7x-chromium-deb-vaapi +++ /dev/null @@ -1,3 +0,0 @@ -Package: * -Pin: release o=LP-PPA-xalt7x-chromium-deb-vaapi -Pin-Priority: 1337 diff --git a/docker/photoprism/Dockerfile b/docker/photoprism/Dockerfile index c32481959..bc5c9bc48 100644 --- a/docker/photoprism/Dockerfile +++ b/docker/photoprism/Dockerfile @@ -1,4 +1,4 @@ -FROM photoprism/development:20210214 as build +FROM photoprism/development:20210215 as build # Set up project directory WORKDIR "/go/src/github.com/photoprism/photoprism" @@ -8,7 +8,7 @@ COPY . . RUN make dep build-js install # Same base image as photoprism/development -FROM ubuntu:20.04 +FROM ubuntu:20.10 # Set environment variables ENV DEBIAN_FRONTEND noninteractive @@ -33,8 +33,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ apt-utils \ add-apt-key \ exiftool \ + darktable \ rawtherapee \ - ffmpeg + ffmpeg \ + ffmpegthumbnailer \ + libavcodec-extra && \ + apt-get update && \ + apt-get dist-upgrade && \ + apt-get autoremove && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* # Copy dependencies COPY --from=build /go/bin/gosu /bin/gosu @@ -42,16 +50,6 @@ COPY --from=build /usr/lib/libtensorflow.so /usr/lib/libtensorflow.so COPY --from=build /usr/lib/libtensorflow_framework.so /usr/lib/libtensorflow_framework.so RUN ldconfig -# Install RAW to JPEG converter -RUN sh -c "echo 'deb http://download.opensuse.org/repositories/home:/pmdpalma:/Ubuntu:/20.04:/bucket/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/home:pmdpalma:Ubuntu:20.04:bucket.list" && \ - wget -qO - https://download.opensuse.org/repositories/home:pmdpalma:Ubuntu:20.04:bucket/xUbuntu_20.04/Release.key | apt-key add - && \ - apt-get update && \ - apt-get install darktable && \ - apt-get upgrade && \ - apt-get dist-upgrade && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - # Set default umask and create photoprism user RUN umask 0000 && useradd photoprism -m -d /photoprism WORKDIR /photoprism diff --git a/docker/photoprism/arm32/Dockerfile b/docker/photoprism/arm32/Dockerfile index 1507e68de..139d57bc0 100644 --- a/docker/photoprism/arm32/Dockerfile +++ b/docker/photoprism/arm32/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 as build +FROM ubuntu:20.10 as build LABEL maintainer="Michael Mayer " @@ -6,7 +6,7 @@ ARG BUILD_TAG ENV DEBIAN_FRONTEND noninteractive -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry && \ echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends && \ echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests && \ @@ -61,6 +61,8 @@ RUN ldconfig RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - RUN apt-get update && \ apt-get install nodejs && \ + apt-get dist-upgrade && \ + apt-get autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* @@ -86,6 +88,7 @@ ENV GOPATH /go ENV GOBIN $GOPATH/bin ENV PATH $GOBIN:/usr/local/go/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV GO111MODULE on +ENV CGO_CFLAGS "-g -O2 -Wno-return-local-addr" RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" # Download TensorFlow model and test files @@ -105,12 +108,12 @@ RUN make dep build-js install RUN env GO111MODULE=off /usr/local/go/bin/go get -u github.com/tianon/gosu # Same base image as photoprism/development -FROM ubuntu:20.04 +FROM ubuntu:20.10 # Set environment variables ENV DEBIAN_FRONTEND noninteractive -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests @@ -127,8 +130,11 @@ RUN apt-get update && apt-get upgrade && apt-get install -y --no-install-recomme libatomic1 \ rawtherapee \ exiftool \ - ffmpeg && \ + ffmpeg \ + ffmpegthumbnailer \ + libavcodec-extra && \ apt-get dist-upgrade && \ + apt-get autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* diff --git a/docker/photoprism/arm64/Dockerfile b/docker/photoprism/arm64/Dockerfile index 4fd5cd872..608d4993a 100644 --- a/docker/photoprism/arm64/Dockerfile +++ b/docker/photoprism/arm64/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 as build +FROM ubuntu:20.10 as build LABEL maintainer="Michael Mayer " @@ -6,7 +6,7 @@ ARG BUILD_TAG ENV DEBIAN_FRONTEND noninteractive -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry && \ echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends && \ echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests && \ @@ -61,6 +61,8 @@ RUN ldconfig RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - RUN apt-get update && \ apt-get install nodejs && \ + apt-get dist-upgrade && \ + apt-get autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* @@ -86,6 +88,7 @@ ENV GOPATH /go ENV GOBIN $GOPATH/bin ENV PATH $GOBIN:/usr/local/go/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV GO111MODULE on +ENV CGO_CFLAGS "-g -O2 -Wno-return-local-addr" RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" # Download TensorFlow model and test files @@ -104,12 +107,12 @@ RUN make dep build-js install RUN env GO111MODULE=off /usr/local/go/bin/go get -u github.com/tianon/gosu # Same base image as photoprism/development -FROM ubuntu:20.04 +FROM ubuntu:20.10 # Set environment variables ENV DEBIAN_FRONTEND noninteractive -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests @@ -126,8 +129,11 @@ RUN apt-get update && apt-get upgrade && apt-get install -y --no-install-recomme darktable \ rawtherapee \ exiftool \ - ffmpeg && \ + ffmpeg \ + ffmpegthumbnailer \ + libavcodec-extra && \ apt-get dist-upgrade && \ + apt-get autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* diff --git a/docker/tensorflow/Dockerfile b/docker/tensorflow/Dockerfile index 9f666becd..a064dc814 100644 --- a/docker/tensorflow/Dockerfile +++ b/docker/tensorflow/Dockerfile @@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive ENV TMP /tmp ENV EXTRA_BAZEL_ARGS "--host_javabase=@local_jdk//:jdk" -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry && \ echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends && \ echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests && \ diff --git a/docker/tensorflow/arm64/Dockerfile b/docker/tensorflow/arm64/Dockerfile index 323a6fb4d..552f8e8c1 100644 --- a/docker/tensorflow/arm64/Dockerfile +++ b/docker/tensorflow/arm64/Dockerfile @@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive ENV TMP /tmp ENV EXTRA_BAZEL_ARGS "--host_javabase=@local_jdk//:jdk" -# Configure apt-get +# Configure apt RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry && \ echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends && \ echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests && \ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 7774b614e..438d530aa 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1577,39 +1577,6 @@ "node": ">=0.10.0" } }, - "node_modules/@vue/reactivity": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.5.tgz", - "integrity": "sha512-3xodUE3sEIJgS7ntwUbopIpzzvi7vDAOjVamfb2l+v1FUg0jpd3gf62N2wggJw3fxBMr+QvyxpD+dBoxLsmAjw==", - "optional": true, - "peer": true, - "dependencies": { - "@vue/shared": "3.0.5" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.5.tgz", - "integrity": "sha512-Cnyi2NqREwOLcTEsIi1DQX1hHtkVj4eGm4hBG7HhokS05DqpK4/80jG6PCCnCH9rIJDB2FqtaODX397210plXg==", - "optional": true, - "peer": true, - "dependencies": { - "@vue/reactivity": "3.0.5", - "@vue/shared": "3.0.5" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz", - "integrity": "sha512-iilX1KySeIzHHtErT6Y44db1rhWK5tAI0CiJIPr+SJoZ2jbjoOSE6ff/jfIQakchbm1d6jq6VtRVnp5xYdOXKA==", - "optional": true, - "peer": true, - "dependencies": { - "@vue/runtime-core": "3.0.5", - "@vue/shared": "3.0.5", - "csstype": "^2.6.8" - } - }, "node_modules/@vue/shared": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz", @@ -3994,13 +3961,6 @@ "node": ">=0.10.0" } }, - "node_modules/csstype": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", - "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==", - "optional": true, - "peer": true - }, "node_modules/cuint": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", @@ -4414,18 +4374,6 @@ "node": ">=0.10.0" } }, - "node_modules/easygettext/node_modules/vue": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.5.tgz", - "integrity": "sha512-TfaprOmtsAfhQau7WsomXZ8d9op/dkQLNIq8qPV3A0Vxs6GR5E+c1rfJS1SDkXRQj+dFyfnec7+U0Be1huiScg==", - "optional": true, - "peer": true, - "dependencies": { - "@vue/compiler-dom": "3.0.5", - "@vue/runtime-dom": "3.0.5", - "@vue/shared": "3.0.5" - } - }, "node_modules/easygettext/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -16348,39 +16296,6 @@ } } }, - "@vue/reactivity": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.5.tgz", - "integrity": "sha512-3xodUE3sEIJgS7ntwUbopIpzzvi7vDAOjVamfb2l+v1FUg0jpd3gf62N2wggJw3fxBMr+QvyxpD+dBoxLsmAjw==", - "optional": true, - "peer": true, - "requires": { - "@vue/shared": "3.0.5" - } - }, - "@vue/runtime-core": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.5.tgz", - "integrity": "sha512-Cnyi2NqREwOLcTEsIi1DQX1hHtkVj4eGm4hBG7HhokS05DqpK4/80jG6PCCnCH9rIJDB2FqtaODX397210plXg==", - "optional": true, - "peer": true, - "requires": { - "@vue/reactivity": "3.0.5", - "@vue/shared": "3.0.5" - } - }, - "@vue/runtime-dom": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz", - "integrity": "sha512-iilX1KySeIzHHtErT6Y44db1rhWK5tAI0CiJIPr+SJoZ2jbjoOSE6ff/jfIQakchbm1d6jq6VtRVnp5xYdOXKA==", - "optional": true, - "peer": true, - "requires": { - "@vue/runtime-core": "3.0.5", - "@vue/shared": "3.0.5", - "csstype": "^2.6.8" - } - }, "@vue/shared": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz", @@ -18304,13 +18219,6 @@ } } }, - "csstype": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", - "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==", - "optional": true, - "peer": true - }, "cuint": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", @@ -18643,18 +18551,6 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "optional": true }, - "vue": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.5.tgz", - "integrity": "sha512-TfaprOmtsAfhQau7WsomXZ8d9op/dkQLNIq8qPV3A0Vxs6GR5E+c1rfJS1SDkXRQj+dFyfnec7+U0Be1huiScg==", - "optional": true, - "peer": true, - "requires": { - "@vue/compiler-dom": "3.0.5", - "@vue/runtime-dom": "3.0.5", - "@vue/shared": "3.0.5" - } - }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",