2021-12-10 23:02:40 +01:00
|
|
|
# Running PhotoPrism on ARM64-based devices (64-bit)
|
2021-12-08 11:01:58 +01:00
|
|
|
|
2021-12-10 21:32:51 +01:00
|
|
|
Our stable version and development preview now come as a single multi-arch image for AMD64 and ARM64 (64-bit).
|
2021-12-08 11:01:58 +01:00
|
|
|
|
2021-12-10 21:32:51 +01:00
|
|
|
Stable Release : photoprism/photoprism:latest
|
|
|
|
Development Preview: photoprism/photoprism:preview
|
|
|
|
MariaDB : arm64v8/mariadb:10.6
|
2021-12-08 11:01:58 +01:00
|
|
|
|
|
|
|
If your device meets the system requirements, mostly the same installation instructions as for regular Linux
|
2021-12-14 23:45:40 +01:00
|
|
|
servers apply:
|
|
|
|
|
|
|
|
https://docs.photoprism.app/getting-started/docker-compose/
|
2021-12-10 15:39:16 +01:00
|
|
|
|
2021-12-27 17:32:57 +01:00
|
|
|
### Raspberry Pi OS ###
|
|
|
|
|
|
|
|
To ensure compatibility with 64-bit Docker images, your Raspberry Pi 3 / 4 must boot with
|
|
|
|
the "arm_64bit=1" flag in its "config.txt" file:
|
2021-12-25 20:40:57 +01:00
|
|
|
|
2021-12-27 17:32:57 +01:00
|
|
|
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
|
2021-12-25 20:40:57 +01:00
|
|
|
|
2021-12-27 17:32:57 +01:00
|
|
|
An "exec format" error will occur otherwise.
|
|
|
|
|
|
|
|
Try explicitly pulling the ARM64 version if you've booted your device with the "arm_64bit=1"
|
|
|
|
flag and you see the "no matching manifest" error on Raspberry Pi OS (Raspbian):
|
2021-12-25 20:40:57 +01:00
|
|
|
|
|
|
|
docker pull --platform=arm64 photoprism/photoprism:latest
|
|
|
|
|
|
|
|
It may also help to set the DOCKER_DEFAULT_PLATFORM environment variable to "linux/arm64".
|
2021-12-10 15:39:16 +01:00
|
|
|
|
2021-12-27 17:32:57 +01:00
|
|
|
### Raspbian Alternatives ###
|
|
|
|
|
|
|
|
Raspberry Pi OS is designed to be compatible with older 32-bit applications. We recommend choosing
|
|
|
|
a standard 64-bit Linux distribution to run modern server applications, for example:
|
|
|
|
|
|
|
|
- [UbuntuDockerPi](https://github.com/guysoft/UbuntuDockerPi) is a 64-bit Ubuntu Server with Docker pre-configured
|
|
|
|
- [Ubuntu for Raspberry Pi](https://ubuntu.com/raspberry-pi)
|
|
|
|
- [Ubuntu MATE for Raspberry Pi](https://ubuntu-mate.org/raspberry-pi/)
|
2021-12-08 11:01:58 +01:00
|
|
|
|
|
|
|
### System Requirements ###
|
|
|
|
|
|
|
|
- Your device should have at least 4 GB of memory. Running PhotoPrism on a server with less than 4 GB of swap space
|
|
|
|
or setting a memory/swap limit can cause unexpected restarts, especially when the indexer temporarily needs more
|
|
|
|
memory to process large files.
|
|
|
|
- If you see Docker errors related to "cgroups", it may help to add the following to `/boot/firmware/cmdline.txt`:
|
|
|
|
```
|
|
|
|
cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
|
|
|
|
```
|
2021-12-08 11:09:22 +01:00
|
|
|
- We recommend disabling Linux kernel security in your `docker-compose.yml`, especially if you do not have experience
|
|
|
|
with the configuration:
|
2021-12-27 17:32:57 +01:00
|
|
|
```
|
2021-01-02 14:06:34 +01:00
|
|
|
photoprism:
|
|
|
|
security_opt:
|
|
|
|
- seccomp:unconfined
|
|
|
|
- apparmor:unconfined
|
2021-12-08 11:01:58 +01:00
|
|
|
```
|
|
|
|
- If you install PhotoPrism on a public server outside your home network, please always run it behind a secure
|
|
|
|
HTTPS reverse proxy such as Traefik, Caddy, or NGINX. Your files and passwords will otherwise be transmitted in
|
|
|
|
clear text and can be intercepted by anyone, including your provider, hackers, and governments.
|
|
|
|
|
|
|
|
!!! Note
|
2021-12-27 17:32:57 +01:00
|
|
|
Indexing large photo and video collections significantly benefits from local SSD storage and plenty of memory
|
|
|
|
for caching. Especially the conversion of RAW images and the transcoding of videos are very demanding.
|
2021-12-08 11:01:58 +01:00
|
|
|
|
|
|
|
!!! Reducing System Load
|
|
|
|
If you're running out of memory - or other system resources - while indexing, try reducing the
|
2021-12-12 20:14:07 +01:00
|
|
|
[number of workers](https://docs.photoprism.app/getting-started/config-options/) by setting
|
2021-12-08 11:01:58 +01:00
|
|
|
`PHOTOPRISM_WORKERS` to a reasonably small value in `docker-compose.yml` (depending on the performance of the server).
|
|
|
|
As a measure of last resort, you may disable using TensorFlow for image classification and facial recognition.
|
|
|
|
|
2021-12-27 18:34:49 +01:00
|
|
|
### Is a Raspberry Pi fast enough? ###
|
|
|
|
|
|
|
|
This largely depends on your expectations and the number of files you have. Most users report that
|
|
|
|
PhotoPrism runs smoothly on their Raspberry Pi 4. However, initial indexing typically takes much longer
|
|
|
|
than on standard desktop computers.
|
|
|
|
|
|
|
|
Also keep in mind that the hardware has limited video transcoding capabilities, so the conversion of video
|
|
|
|
file formats is not well-supported and software transcoding is generally slow.
|
|
|
|
|
2021-12-10 21:32:51 +01:00
|
|
|
### Getting Updates ###
|
|
|
|
|
2021-12-27 17:32:57 +01:00
|
|
|
Open a terminal and change to the folder where the docker-compose.yml file was saved. Now run the
|
|
|
|
following commands to download the most recent image from Docker Hub and restart your instance
|
|
|
|
in the background:
|
|
|
|
|
|
|
|
docker-compose pull --platform=arm64 photoprism
|
|
|
|
docker-compose stop photoprism
|
|
|
|
docker-compose up -d photoprism
|
|
|
|
|
|
|
|
Pulling a new version can take several minutes, depending on your internet connection speed.
|
|
|
|
|
|
|
|
Note that running an image with ":latest" tag does not cause Docker to automatically download
|
|
|
|
new images.
|
2021-12-10 21:32:51 +01:00
|
|
|
|
|
|
|
### Credits ###
|
|
|
|
|
|
|
|
A big thank you to [Guy Sheffer](https://github.com/guysoft) for helping us [build](https://github.com/photoprism/photoprism/issues/109)
|
|
|
|
a Raspberry Pi version!
|