From ba002b0dcc0c6e6f625e56a4b620f1f6363d8738 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 29 Sep 2021 09:27:09 +0200 Subject: [PATCH] Docker: Upgrade base image from 20210928 to 20210929 #536 #1337 --- Dockerfile | 2 +- docker-compose.yml | 2 +- docker/development/Dockerfile | 2 +- docker/examples/docker-compose.yml | 2 +- docker/examples/macos/docker-compose.yml | 1 + docker/examples/scheduler/docker-compose.yml | 1 + docker/examples/sqlite/docker-compose.yml | 1 + docker/photoprism/Dockerfile | 4 ++-- docker/scripts/Makefile | 16 ++++++++-------- 9 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1ee88f969..9d76c53aa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM photoprism/development:20210928 +FROM photoprism/development:20210929 # Copy latest entrypoint script COPY --chown=root:root /docker/development/entrypoint.sh /entrypoint.sh diff --git a/docker-compose.yml b/docker-compose.yml index 82e216d77..82e03468e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,7 +60,7 @@ services: PHOTOPRISM_JPEG_SIZE: 7680 # Size limit for converted image files in pixels (720-30000) PHOTOPRISM_JPEG_QUALITY: 92 # Set to 95 for high-quality thumbnails (25-100) TF_CPP_MIN_LOG_LEVEL: 0 # Show TensorFlow log messages for development - # Enable TensorFlow AVX2 support for modern Intel CPUs: + # Enable TensorFlow AVX2 support for modern Intel CPUs (requires starting the container as root): # PHOTOPRISM_INIT: "tensorflow-amd64-avx2" # Hardware video transcoding options: # PHOTOPRISM_FFMPEG_BUFFERS: "64" # FFmpeg capture buffers (default: 32) diff --git a/docker/development/Dockerfile b/docker/development/Dockerfile index 6c61c4e69..d3c3e96b1 100644 --- a/docker/development/Dockerfile +++ b/docker/development/Dockerfile @@ -130,7 +130,7 @@ RUN env GO111MODULE=off /usr/local/go/bin/go get -u github.com/tianon/gosu \ cp /go/bin/gosu /bin/gosu # Create photoprism user and directory for deployment -RUN useradd photoprism -m -U -u 1000 -d /photoprism && chmod a+rwx /photoprism && \ +RUN useradd -m -U -u 1000 -d /photoprism photoprism && chmod a+rwx /photoprism && \ mkdir -m 777 -p /var/lib/photoprism /tmp/photoprism && \ echo "alias go=richgo" > /photoprism/.bash_aliases && \ echo "photoprism ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ diff --git a/docker/examples/docker-compose.yml b/docker/examples/docker-compose.yml index ad427fb17..6aad42f24 100644 --- a/docker/examples/docker-compose.yml +++ b/docker/examples/docker-compose.yml @@ -80,7 +80,7 @@ services: # PHOTOPRISM_UID: 1000 # PHOTOPRISM_GID: 1000 # PHOTOPRISM_UMASK: 0000 - # Enable TensorFlow AVX2 support for modern Intel CPUs: + # Enable TensorFlow AVX2 support for modern Intel CPUs (requires starting the container as root): # PHOTOPRISM_INIT: "tensorflow-amd64-avx2" # Hardware video transcoding options: # PHOTOPRISM_FFMPEG_BUFFERS: "64" # FFmpeg capture buffers (default: 32) diff --git a/docker/examples/macos/docker-compose.yml b/docker/examples/macos/docker-compose.yml index f8f22f19d..b4dccda53 100644 --- a/docker/examples/macos/docker-compose.yml +++ b/docker/examples/macos/docker-compose.yml @@ -71,6 +71,7 @@ services: PHOTOPRISM_SITE_CAPTION: "Browse Your Life" PHOTOPRISM_SITE_DESCRIPTION: "" PHOTOPRISM_SITE_AUTHOR: "" + # Enable TensorFlow AVX2 support for modern Intel CPUs (requires starting the container as root): # PHOTOPRISM_INIT: "tensorflow-amd64-avx2" HOME: "/photoprism" volumes: diff --git a/docker/examples/scheduler/docker-compose.yml b/docker/examples/scheduler/docker-compose.yml index 9af227430..047cf874e 100644 --- a/docker/examples/scheduler/docker-compose.yml +++ b/docker/examples/scheduler/docker-compose.yml @@ -83,6 +83,7 @@ services: # PHOTOPRISM_UID: 1000 # PHOTOPRISM_GID: 1000 # PHOTOPRISM_UMASK: 0000 + # Enable TensorFlow AVX2 support for modern Intel CPUs (requires starting the container as root): # PHOTOPRISM_INIT: "tensorflow-amd64-avx2" HOME: "/photoprism" working_dir: "/photoprism" diff --git a/docker/examples/sqlite/docker-compose.yml b/docker/examples/sqlite/docker-compose.yml index aba4e4302..f46649892 100644 --- a/docker/examples/sqlite/docker-compose.yml +++ b/docker/examples/sqlite/docker-compose.yml @@ -73,6 +73,7 @@ services: # PHOTOPRISM_UID: 1000 # PHOTOPRISM_GID: 1000 # PHOTOPRISM_UMASK: 0000 + # Enable TensorFlow AVX2 support for modern Intel CPUs (requires starting the container as root): # PHOTOPRISM_INIT: "tensorflow-amd64-avx2" HOME: "/photoprism" working_dir: "/photoprism" diff --git a/docker/photoprism/Dockerfile b/docker/photoprism/Dockerfile index 3e98f5dc8..6c649569a 100644 --- a/docker/photoprism/Dockerfile +++ b/docker/photoprism/Dockerfile @@ -1,4 +1,4 @@ -FROM photoprism/development:20210928 as build +FROM photoprism/development:20210929 as build ARG TARGETARCH ARG TARGETPLATFORM @@ -112,7 +112,7 @@ COPY --from=build /usr/lib/libtensorflow_framework.so /usr/lib/libtensorflow_fra RUN ldconfig # Set default umask and create photoprism user -RUN umask 0000 && useradd photoprism -m -U -u 1000 -d /photoprism && chmod a+rwx /photoprism +RUN umask 0000 && useradd -m -U -u 1000 -d /photoprism photoprism && chmod a+rwx /photoprism WORKDIR /photoprism # Copy additional files to image diff --git a/docker/scripts/Makefile b/docker/scripts/Makefile index 0f074650a..e0f3950c6 100644 --- a/docker/scripts/Makefile +++ b/docker/scripts/Makefile @@ -1,9 +1,15 @@ # Optional packages and drivers for PhotoPrism # Maintainer: Michael Mayer -.PHONY: tensorflow-amd64-avx tensorflow-amd64-avx-install \ +.PHONY: tensorflow-amd64-cpu tensorflow-amd64-cpu-install \ + tensorflow-amd64-avx tensorflow-amd64-avx-install \ tensorflow-amd64-avx2 tensorflow-amd64-avx2-install \ - tensorflow-amd64-cpu tensorflow-amd64-cpu-install \ intel-graphics; +tensorflow-amd64-cpu: /tmp/libtensorflow-linux-cpu-1.15.2.tar.gz tensorflow-amd64-cpu-install +/tmp/libtensorflow-linux-cpu-1.15.2.tar.gz: + curl -fsSL "https://dl.photoprism.org/tensorflow/linux/libtensorflow-linux-cpu-1.15.2.tar.gz" > /tmp/libtensorflow-linux-cpu-1.15.2.tar.gz +tensorflow-amd64-cpu-install: + tar --overwrite -C "/usr" -xzf /tmp/libtensorflow-linux-cpu-1.15.2.tar.gz + ldconfig tensorflow-amd64-avx: /tmp/libtensorflow-linux-avx-1.15.2.tar.gz tensorflow-amd64-avx-install /tmp/libtensorflow-linux-avx-1.15.2.tar.gz: curl -fsSL "https://dl.photoprism.org/tensorflow/linux/libtensorflow-linux-avx-1.15.2.tar.gz" > /tmp/libtensorflow-linux-avx-1.15.2.tar.gz @@ -16,12 +22,6 @@ tensorflow-amd64-avx2: /tmp/libtensorflow-linux-avx2-1.15.2.tar.gz tensorflow-am tensorflow-amd64-avx2-install: tar --overwrite -C "/usr" -xzf /tmp/libtensorflow-linux-avx2-1.15.2.tar.gz ldconfig -tensorflow-amd64-cpu: /tmp/libtensorflow-linux-cpu-1.15.2.tar.gz tensorflow-amd64-cpu-install -/tmp/libtensorflow-linux-cpu-1.15.2.tar.gz: - curl -fsSL "https://dl.photoprism.org/tensorflow/linux/libtensorflow-linux-cpu-1.15.2.tar.gz" > /tmp/libtensorflow-linux-cpu-1.15.2.tar.gz -tensorflow-amd64-cpu-install: - tar --overwrite -C "/usr" -xzf /tmp/libtensorflow-linux-cpu-1.15.2.tar.gz - ldconfig intel-graphics: apt-get update apt-get install intel-opencl-icd intel-media-va-driver-non-free libmfx1