Docker: Refactor directory structure for ARM64 #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
This commit is contained in:
parent
c0a694cc24
commit
f99bcb0bdf
7
Makefile
7
Makefile
|
@ -4,7 +4,6 @@ BINARY_NAME=photoprism
|
||||||
DOCKER_TAG=`date -u +%Y%m%d`
|
DOCKER_TAG=`date -u +%Y%m%d`
|
||||||
TIDB_VERSION=2.1.11
|
TIDB_VERSION=2.1.11
|
||||||
TF_VERSION=1.14.0
|
TF_VERSION=1.14.0
|
||||||
DARKTABLE_VERSION="$(awk '$2 == "DARKTABLE_VERSION" { print $3; exit }' docker/darktable/Dockerfile)"
|
|
||||||
|
|
||||||
HASRICHGO := $(shell which richgo)
|
HASRICHGO := $(shell which richgo)
|
||||||
ifdef HASRICHGO
|
ifdef HASRICHGO
|
||||||
|
@ -121,15 +120,15 @@ docker-development:
|
||||||
docker-photoprism:
|
docker-photoprism:
|
||||||
scripts/docker-build.sh photoprism $(DOCKER_TAG)
|
scripts/docker-build.sh photoprism $(DOCKER_TAG)
|
||||||
scripts/docker-push.sh photoprism $(DOCKER_TAG)
|
scripts/docker-push.sh photoprism $(DOCKER_TAG)
|
||||||
|
docker-photoprism-arm64:
|
||||||
|
scripts/docker-build.sh photoprism-arm64 $(DOCKER_TAG)
|
||||||
|
scripts/docker-push.sh photoprism-arm64 $(DOCKER_TAG)
|
||||||
docker-demo:
|
docker-demo:
|
||||||
scripts/docker-build.sh demo $(DOCKER_TAG)
|
scripts/docker-build.sh demo $(DOCKER_TAG)
|
||||||
scripts/docker-push.sh demo $(DOCKER_TAG)
|
scripts/docker-push.sh demo $(DOCKER_TAG)
|
||||||
docker-tensorflow:
|
docker-tensorflow:
|
||||||
scripts/docker-build.sh tensorflow $(TF_VERSION)
|
scripts/docker-build.sh tensorflow $(TF_VERSION)
|
||||||
scripts/docker-push.sh tensorflow $(TF_VERSION)
|
scripts/docker-push.sh tensorflow $(TF_VERSION)
|
||||||
docker-darktable:
|
|
||||||
scripts/docker-build.sh darktable $(DARKTABLE_VERSION)
|
|
||||||
scripts/docker-push.sh darktable $(DARKTABLE_VERSION)
|
|
||||||
docker-tidb:
|
docker-tidb:
|
||||||
scripts/docker-build.sh tidb $(TIDB_VERSION)
|
scripts/docker-build.sh tidb $(TIDB_VERSION)
|
||||||
scripts/docker-push.sh tidb $(TIDB_VERSION)
|
scripts/docker-push.sh tidb $(TIDB_VERSION)
|
||||||
|
|
|
@ -1,97 +0,0 @@
|
||||||
FROM ubuntu:18.04
|
|
||||||
|
|
||||||
LABEL maintainer="Michael Mayer <michael@liquidbytes.net>"
|
|
||||||
|
|
||||||
WORKDIR "/src"
|
|
||||||
|
|
||||||
ENV DARKTABLE_VERSION 2.5.0
|
|
||||||
|
|
||||||
ENV LANG C.UTF-8
|
|
||||||
ENV LC_ALL C.UTF-8
|
|
||||||
ENV LC_MESSAGES C.UTF-8
|
|
||||||
ENV LANGUAGE C.UTF-8
|
|
||||||
ENV GCC_VER=8
|
|
||||||
ENV LLVM_VER=7
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
|
|
||||||
# Paper over occasional network flakiness of some mirrors.
|
|
||||||
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry
|
|
||||||
|
|
||||||
# Do not install recommended packages
|
|
||||||
RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends
|
|
||||||
|
|
||||||
# Do not install suggested packages
|
|
||||||
RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests
|
|
||||||
|
|
||||||
# Assume yes
|
|
||||||
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/80forceyes
|
|
||||||
|
|
||||||
# Fix broken packages
|
|
||||||
RUN echo 'APT::Get::Fix-Missing "true";' > /etc/apt/apt.conf.d/80fixmissin
|
|
||||||
|
|
||||||
# Install general build dependencies
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
build-essential \
|
|
||||||
curl \
|
|
||||||
gpg-agent \
|
|
||||||
apt-utils \
|
|
||||||
gpg \
|
|
||||||
gpgconf \
|
|
||||||
gpgv \
|
|
||||||
pkg-config \
|
|
||||||
nano \
|
|
||||||
wget
|
|
||||||
|
|
||||||
# Add llvm repo
|
|
||||||
RUN echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main" | tee /etc/apt/sources.list.d/llvm.list
|
|
||||||
COPY /docker/darktable/llvm.gpg.key /tmp/llvm.gpg.key
|
|
||||||
RUN apt-key add /tmp/llvm.gpg.key
|
|
||||||
|
|
||||||
# Install darktable build depenencies
|
|
||||||
RUN apt-get update && apt-get install appstream-util clang-$LLVM_VER cmake desktop-file-utils \
|
|
||||||
g++-$GCC_VER gcc-$GCC_VER gettext git intltool libatk1.0-dev libcairo2-dev \
|
|
||||||
libcolord-dev libcolord-gtk-dev libcups2-dev libcurl4-gnutls-dev \
|
|
||||||
libexiv2-dev libflickcurl-dev libgdk-pixbuf2.0-dev libglib2.0-dev \
|
|
||||||
libgphoto2-dev libgraphicsmagick1-dev libgtk-3-dev libjpeg-dev \
|
|
||||||
libjson-glib-dev liblcms2-dev liblensfun-dev liblua5.2-dev liblua5.3-dev \
|
|
||||||
libopenexr-dev libopenjp2-7-dev libosmgpsmap-1.0-dev libpango1.0-dev \
|
|
||||||
libpng-dev libpugixml-dev librsvg2-dev libsaxon-java libsecret-1-dev \
|
|
||||||
libsoup2.4-dev libsqlite3-dev libtiff5-dev libwebp-dev libx11-dev \
|
|
||||||
libxml2-dev libxml2-utils make ninja-build perl po4a python3-jsonschema \
|
|
||||||
xsltproc zlib1g-dev libxslt1-dev gtk+-3.0 libsoup2.4 libtiff-dev libgtk-3-bin && \
|
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN dpkg-divert --add --rename --divert /usr/bin/ld.original /usr/bin/ld && \
|
|
||||||
ln -s /usr/bin/ld.gold /usr/bin/ld
|
|
||||||
|
|
||||||
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
|
|
||||||
apt-get install clang-$LLVM_VER libclang-common-$LLVM_VER-dev \
|
|
||||||
llvm-$LLVM_VER-dev && \
|
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
|
|
||||||
apt-get install default-jdk-headless default-jre-headless docbook \
|
|
||||||
docbook-xml docbook-xsl docbook-xsl-saxon fop gnome-doc-utils imagemagick \
|
|
||||||
libsaxon-java xsltproc && apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Build and install darktable
|
|
||||||
RUN git clone https://github.com/darktable-org/darktable.git
|
|
||||||
WORKDIR "/src/darktable"
|
|
||||||
RUN git fetch --all --tags --prune && git checkout tags/release-$DARKTABLE_VERSION
|
|
||||||
RUN git submodule init && git submodule update
|
|
||||||
RUN ./build.sh --prefix /opt/darktable --build-type Release --install
|
|
||||||
|
|
||||||
# Copy darktable header files
|
|
||||||
WORKDIR "/src/darktable/src"
|
|
||||||
RUN mkdir -p /opt/darktable/include/darktable
|
|
||||||
RUN find . -name '*.h' -exec cp --parents \{\} /opt/darktable/include/darktable \;
|
|
||||||
|
|
||||||
# Configure shell environment
|
|
||||||
WORKDIR "/opt/darktable"
|
|
||||||
ENV PATH /opt/darktable/bin:$PATH
|
|
||||||
|
|
||||||
# Configure broadwayd
|
|
||||||
ENV GDK_BACKEND broadway
|
|
||||||
ENV BROADWAY_DISPLAY :5
|
|
||||||
EXPOSE 8080
|
|
||||||
CMD broadwayd -p 8080 -a 0.0.0.0 :5
|
|
|
@ -1,7 +0,0 @@
|
||||||
version: '3.3'
|
|
||||||
|
|
||||||
services:
|
|
||||||
darktable:
|
|
||||||
image: photoprism/darktable:latest
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
|
@ -1,52 +0,0 @@
|
||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
|
||||||
|
|
||||||
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
|
|
||||||
bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
|
|
||||||
=j+4q
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04 as build
|
||||||
|
|
||||||
LABEL maintainer="Michael Mayer <michael@liquidbytes.net>"
|
LABEL maintainer="Michael Mayer <michael@liquidbytes.net>"
|
||||||
|
|
||||||
|
@ -48,24 +48,18 @@ RUN apt-get update && apt-get upgrade && \
|
||||||
chromium-browser \
|
chromium-browser \
|
||||||
firefox \
|
firefox \
|
||||||
libheif-examples \
|
libheif-examples \
|
||||||
|
darktable \
|
||||||
exiftool
|
exiftool
|
||||||
|
|
||||||
# Install RAW to JPEG converter
|
|
||||||
RUN add-apt-repository ppa:pmjdebruijn/darktable-release && \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install darktable && \
|
|
||||||
apt-get upgrade && \
|
|
||||||
apt-get dist-upgrade
|
|
||||||
|
|
||||||
# Install & configure TensorFlow for C
|
# Install & configure TensorFlow for C
|
||||||
#
|
#
|
||||||
# Please use other build if processor does not support AVX2:
|
# Big thank you to Guy Sheffer for building this!
|
||||||
# https://dl.photoprism.org/tensorflow/linux/
|
# https://github.com/guysoft
|
||||||
#
|
#
|
||||||
ENV LD_LIBRARY_PATH /root/.local/lib:/usr/local/lib:/usr/lib:/lib
|
ENV LD_LIBRARY_PATH /root/.local/lib:/usr/local/lib:/usr/lib:/lib
|
||||||
ENV TF_CPP_MIN_LOG_LEVEL 0
|
ENV TF_CPP_MIN_LOG_LEVEL 0
|
||||||
RUN curl -L \
|
RUN curl -L \
|
||||||
"http://unofficialpi.org/photoprisim/libtensorflow-aarch64-1.14.0.tar.gz" | \
|
"https://dl.photoprism.org/tensorflow/arm64/libtensorflow-arm64-1.14.0.tar.gz" | \
|
||||||
tar -C "/usr" -xz
|
tar -C "/usr" -xz
|
||||||
RUN ldconfig
|
RUN ldconfig
|
||||||
|
|
||||||
|
@ -113,9 +107,70 @@ RUN echo "alias go=richgo" > /root/.bash_aliases
|
||||||
|
|
||||||
# Set up project directory
|
# Set up project directory
|
||||||
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
||||||
|
COPY . .
|
||||||
|
|
||||||
# Expose HTTP port 2342 plus 4000 for TiDB and 9515 for chromedriver
|
# Build PhotoPrism
|
||||||
EXPOSE 2342 4000 9515
|
RUN make dep build-js install
|
||||||
|
|
||||||
# Keep container running (services can be started manually using a terminal)
|
# Same base image as photoprism/development
|
||||||
CMD tail -f /dev/null
|
FROM ubuntu:18.04
|
||||||
|
|
||||||
|
# Set environment variables
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
# Install additional distribution packages
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
curl \
|
||||||
|
unzip \
|
||||||
|
nano \
|
||||||
|
wget \
|
||||||
|
ca-certificates \
|
||||||
|
tzdata \
|
||||||
|
libheif-examples \
|
||||||
|
darktable \
|
||||||
|
exiftool && \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get upgrade && \
|
||||||
|
apt-get dist-upgrade && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Copy dependencies
|
||||||
|
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
|
||||||
|
|
||||||
|
# Create and configure photoprism user
|
||||||
|
RUN useradd -ms /bin/bash photoprism
|
||||||
|
USER photoprism
|
||||||
|
|
||||||
|
WORKDIR /home/photoprism
|
||||||
|
ENV PATH /home/photoprism/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
ENV TF_CPP_MIN_LOG_LEVEL 2
|
||||||
|
ENV PHOTOPRISM_CONFIG_FILE /home/photoprism/.config/photoprism/photoprism.yml
|
||||||
|
|
||||||
|
# Copy assets to /home/photoprism
|
||||||
|
COPY --chown=photoprism --from=build /root/.local/bin/photoprism /home/photoprism/.local/bin/photoprism
|
||||||
|
COPY --chown=photoprism --from=build /root/.local/share/photoprism /home/photoprism/.local/share/photoprism
|
||||||
|
COPY --chown=photoprism --from=build /root/.config/photoprism /home/photoprism/.config/photoprism
|
||||||
|
|
||||||
|
# Create directories
|
||||||
|
RUN mkdir -p /home/photoprism/.cache/photoprism \
|
||||||
|
/home/photoprism/Pictures/Originals \
|
||||||
|
/home/photoprism/Pictures/Import \
|
||||||
|
/home/photoprism/Pictures/Export
|
||||||
|
|
||||||
|
# Fix permissions
|
||||||
|
USER root
|
||||||
|
RUN chown -R photoprism:photoprism /home/photoprism
|
||||||
|
USER photoprism
|
||||||
|
|
||||||
|
# Show photoprism version
|
||||||
|
RUN photoprism -v
|
||||||
|
|
||||||
|
# Expose http and database ports
|
||||||
|
EXPOSE 2342 4000
|
||||||
|
|
||||||
|
# Run server
|
||||||
|
CMD photoprism start
|
33
docker/photoprism-arm64/README.md
Normal file
33
docker/photoprism-arm64/README.md
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
PhotoPrism for Raspberry Pi (64bit)
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Big thank you to [Guy Sheffer](https://github.com/guysoft) for
|
||||||
|
[building](https://github.com/photoprism/photoprism/issues/109) this!
|
||||||
|
|
||||||
|
Simply download `docker-compose.yml` (edit to change directories) and run `docker-compose up` to start PhotoPrism:
|
||||||
|
|
||||||
|
```
|
||||||
|
wget https://raw.githubusercontent.com/photoprism/photoprism/develop/docker/photoprism-arm64/docker-compose.yml
|
||||||
|
sudo docker-compose up
|
||||||
|
```
|
||||||
|
|
||||||
|
*Note: This is work in progress and we'll shorten the URL as soon as possible.
|
||||||
|
Please read the following OS and hardware requirements before starting the app.*
|
||||||
|
|
||||||
|
## Operating System and Hardware Requirements ##
|
||||||
|
|
||||||
|
You need to boot your Raspberry Pi 3/4 with the parameter `arm_64bit=1` in `config.txt`
|
||||||
|
to be able to use this image.
|
||||||
|
A fast SD card and 4 GB of RAM are recommended, in addition you might want to add swap for large photo collections.
|
||||||
|
|
||||||
|
Make sure your docker compose configuration contains the following setting:
|
||||||
|
|
||||||
|
```
|
||||||
|
photoprism:
|
||||||
|
security_opt:
|
||||||
|
- seccomp:unconfined
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use [UbuntuDockerPi](https://github.com/guysoft/UbuntuDockerPi) to run the image.
|
||||||
|
|
||||||
|
|
|
@ -8,9 +8,9 @@ version: '3.3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
photoprism:
|
photoprism:
|
||||||
|
image: photoprism/photoprism-arm64:latest
|
||||||
security_opt:
|
security_opt:
|
||||||
- seccomp:unconfined
|
- seccomp:unconfined
|
||||||
image: guysoft/photoprisimpi:latest
|
|
||||||
ports:
|
ports:
|
||||||
- 2342:2342 # [local port]:[container port]
|
- 2342:2342 # [local port]:[container port]
|
||||||
environment: # Run "photoprism help" and "photoprism config" too see all config options and current values
|
environment: # Run "photoprism help" and "photoprism config" too see all config options and current values
|
|
@ -22,9 +22,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
tzdata \
|
tzdata \
|
||||||
libheif-examples \
|
libheif-examples \
|
||||||
exiftool && \
|
exiftool
|
||||||
apt-get clean && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Copy dependencies
|
# Copy dependencies
|
||||||
COPY --from=build /usr/lib/libtensorflow.so /usr/lib/libtensorflow.so
|
COPY --from=build /usr/lib/libtensorflow.so /usr/lib/libtensorflow.so
|
||||||
|
@ -35,18 +33,12 @@ RUN ldconfig
|
||||||
RUN sh -c "echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/master/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/graphics:darktable:master.list" && \
|
RUN sh -c "echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/master/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/graphics:darktable:master.list" && \
|
||||||
wget -qO - https://download.opensuse.org/repositories/graphics:darktable:master/xUbuntu_18.04/Release.key | apt-key add - && \
|
wget -qO - https://download.opensuse.org/repositories/graphics:darktable:master/xUbuntu_18.04/Release.key | apt-key add - && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install darktable && \
|
apt-get install -y --no-install-recommends darktable && \
|
||||||
apt-get upgrade && \
|
apt-get upgrade && \
|
||||||
apt-get dist-upgrade && \
|
apt-get dist-upgrade && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install darktable (RAW to JPEG converter)
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y --no-install-recommends darktable && \
|
|
||||||
apt-get clean && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Create and configure photoprism user
|
# Create and configure photoprism user
|
||||||
RUN useradd -ms /bin/bash photoprism
|
RUN useradd -ms /bin/bash photoprism
|
||||||
USER photoprism
|
USER photoprism
|
||||||
|
|
Loading…
Reference in a new issue