Skip to content

Commit

Permalink
Merge pull request #46 from kvalev/upstream-develop
Browse files Browse the repository at this point in the history
Merge upstream changes
  • Loading branch information
kvalev authored Dec 5, 2021
2 parents fef2296 + fb7e764 commit 0bf1e95
Show file tree
Hide file tree
Showing 52 changed files with 447 additions and 393 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM photoprism/development:20211109
FROM photoprism/development:20211203

# Copy latest entrypoint script
COPY --chown=root:root /docker/development/entrypoint.sh /entrypoint.sh
Expand Down
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ clean:
rm -rf storage/cache
rm -rf frontend/node_modules
docker-development:
scripts/install-qemu.sh
docker pull --platform=amd64 ubuntu:21.10
docker pull --platform=arm64 ubuntu:21.10
docker pull --platform=arm ubuntu:21.10
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ To get a first impression, you're welcome to play with our public demo at [demo.
* Easily find specific pictures using [powerful search filters](https://demo.photoprism.org/browse?view=cards&q=flower%20color%3Ared)
* Privacy-friendly: No data is ever sent to Google, Amazon, Facebook, or Apple unless you explicitly upload files to one of their services 🔐
* Recognizes [the faces of your family and friends](https://demo.photoprism.org/people)
* [Automatic Classification](https://demo.photoprism.org/labels) of pictures based on their content and location
* [Automatic classification](https://demo.photoprism.org/labels) of pictures based on their content and location
* [Play Live Photos](https://demo.photoprism.org/live) by hovering over them in [albums](https://demo.photoprism.org/albums) and [search results](https://demo.photoprism.org/browse?view=cards&q=type%3Alive)
* Since the [User Interface](https://demo.photoprism.org/) is a [Progressive Web App](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps),
it provides a native app-like experience, and you can conveniently install it on the home screen of all major operating systems and mobile devices
Expand All @@ -49,7 +49,7 @@ We recommend updating your existing `docker-compose.yml` config based on

## Back us on [Patreon](https://www.patreon.com/photoprism) or [GitHub Sponsors](https://github.com/sponsors/photoprism) ##

Your continued support helps us provide services like satellite maps and develop new features.
Your continued support helps us provide services like world maps and develop new features.
GitHub now also offers [one-time donations](https://github.com/sponsors/photoprism?frequency=one-time).
You're welcome to [contact us](https://photoprism.app/contact) for other options.

Expand Down
47 changes: 15 additions & 32 deletions docker/examples/arm64/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
version: '3.5'

# Example Docker Compose config file for PhotoPrism (Raspberry Pi and other ARM-based devices)
# Example Docker Compose config file for PhotoPrism (Raspberry Pi 3/4 and other ARM64-based devices)
#
# Important: You have to boot your Raspberry Pi 3 / 4 with the parameter "arm_64bit=1"
# in config.txt to use our ARM64 image.
# Note:
# - Use https://dl.photoprism.org/docker/armv7/docker-compose.yml for running PhotoPrism on ARMv7-based devices.
# - You have to boot your Raspberry Pi 3/4 with the parameter "arm_64bit=1" in config.txt to use our ARM64 image.
# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected
# restarts ("crashes"), 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
# - 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.
#
# Documentation : https://docs.photoprism.org/getting-started/raspberry-pi/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Attention: When installing PhotoPrism on a public server outside your home network,
# always run it behind a secure HTTPS reverse proxy like Traefik, Caddy, or NGINX.
# Your files and passwords will be transmitted in clear text otherwise.
#
# DOCKER COMPOSE COMMAND REFERENCE
# see https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface
# --------------------------------------------------------------------------
# Start | docker-compose up -d
# Stop | docker-compose stop
Expand All @@ -33,8 +38,6 @@ version: '3.5'
#
# All commands may have to be prefixed with "sudo" when not running as root.
# This will point the home directory placeholder ~ to /root in volume mounts.
#
# More examples: https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface

services:
## App Server (required)
Expand All @@ -43,8 +46,6 @@ services:
## ARM64, and ARMv7. Use photoprism/photoprism:preview for testing preview builds or
## photoprism/photoprism:latest for the stable release:
image: photoprism/photoprism:latest
## Owners of ARMv7-based devices may have to explicitly specify the image architecture:
# platform: "linux/arm"
depends_on:
- mariadb
## Only enable automatic restarts once your installation is properly
Expand Down Expand Up @@ -113,37 +114,19 @@ services:
## see https://docs.photoprism.org/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql
mariadb:
restart: unless-stopped
image: arm64v8/mariadb:10.6
image: arm64v8/mariadb:10.6 # this mariadb image runs on ARM64-based devices only
security_opt:
- seccomp:unconfined
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "./database:/var/lib/mysql" # Never remove
- "./database:/var/lib/mysql" # never remove
environment:
MYSQL_ROOT_PASSWORD: insecure
MYSQL_DATABASE: photoprism
MYSQL_USER: photoprism
MYSQL_PASSWORD: insecure

## Owners of ARMv7-based devices have to revert to an alternative image if they want to use MariaDB.
## The official image is available for AMD64 and ARM64 only. ARM64 users can remove this:
#
# mariadb:
# restart: unless-stopped
# image: lscr.io/linuxserver/mariadb:latest
# security_opt:
# - seccomp:unconfined
# - apparmor:unconfined
# command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
# volumes:
# - "./mariadb:/config" # Never remove
# environment:
# MYSQL_ROOT_PASSWORD: insecure
# MYSQL_DATABASE: photoprism
# MYSQL_USER: photoprism
# MYSQL_PASSWORD: insecure

## Watchtower upgrades services automatically (optional)
## see https://docs.photoprism.org/getting-started/updates/#watchtower
#
Expand All @@ -152,7 +135,7 @@ services:
# image: containrrr/watchtower
# environment:
# WATCHTOWER_CLEANUP: "true"
# WATCHTOWER_POLL_INTERVAL: 7200 # Checks for updates every two hours
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
21 changes: 13 additions & 8 deletions docker/examples/armv7/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,21 @@ version: '3.5'

# Example Docker Compose config file for PhotoPrism (ARMv7-based devices)
#
# Note:
# - Use https://dl.photoprism.org/docker/arm64/docker-compose.yml for running PhotoPrism on ARM64-based devices.
# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected
# restarts ("crashes"), 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
# - 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.
#
# Documentation : https://docs.photoprism.org/getting-started/raspberry-pi/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Attention: When installing PhotoPrism on a public server outside your home network,
# always run it behind a secure HTTPS reverse proxy like Traefik, Caddy, or NGINX.
# Your files and passwords will be transmitted in clear text otherwise.
#
# DOCKER COMPOSE COMMAND REFERENCE
# see https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface
# --------------------------------------------------------------------------
# Start | docker-compose up -d
# Stop | docker-compose stop
Expand All @@ -30,8 +37,6 @@ version: '3.5'
#
# All commands may have to be prefixed with "sudo" when not running as root.
# This will point the home directory placeholder ~ to /root in volume mounts.
#
# More examples: https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface

services:
## App Server (required)
Expand Down Expand Up @@ -113,7 +118,7 @@ services:
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "./mariadb:/config" # Never remove
- "./mariadb:/config" # never remove
environment:
MYSQL_ROOT_PASSWORD: insecure
MYSQL_DATABASE: photoprism
Expand All @@ -128,7 +133,7 @@ services:
# image: containrrr/watchtower
# environment:
# WATCHTOWER_CLEANUP: "true"
# WATCHTOWER_POLL_INTERVAL: 7200 # Checks for updates every two hours
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
4 changes: 2 additions & 2 deletions docker/examples/cloud/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ services:
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "./database:/var/lib/mysql" # Never remove
- "./database:/var/lib/mysql" # never remove
environment:
MYSQL_ROOT_PASSWORD: "_admin_password_"
MYSQL_DATABASE: "photoprism"
Expand All @@ -221,6 +221,6 @@ services:
container_name: watchtower
environment:
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_POLL_INTERVAL: 86400 # Checks for updates every day
WATCHTOWER_POLL_INTERVAL: 86400 # checks for updates every day
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
18 changes: 10 additions & 8 deletions docker/examples/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@ version: '3.5'

# Example Docker Compose config file for PhotoPrism (Linux / AMD64)
#
# Note:
# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected
# restarts ("crashes"), especially when the indexer temporarily needs more memory to process large files.
# - 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.
#
# Documentation : https://docs.photoprism.org/getting-started/docker-compose/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Attention: When installing PhotoPrism on a public server outside your home network,
# always run it behind a secure HTTPS reverse proxy like Traefik, Caddy, or NGINX.
# Your files and passwords will be transmitted in clear text otherwise.
#
# DOCKER COMPOSE COMMAND REFERENCE
# see https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface
# --------------------------------------------------------------------------
# Start | docker-compose up -d
# Stop | docker-compose stop
Expand All @@ -30,8 +34,6 @@ version: '3.5'
#
# All commands may have to be prefixed with "sudo" when not running as root.
# This will point the home directory placeholder ~ to /root in volume mounts.
#
# More examples: https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface

services:
## App Server (required)
Expand Down Expand Up @@ -119,7 +121,7 @@ services:
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "./database:/var/lib/mysql" # Never remove
- "./database:/var/lib/mysql" # never remove
environment:
MYSQL_ROOT_PASSWORD: insecure
MYSQL_DATABASE: photoprism
Expand All @@ -134,7 +136,7 @@ services:
# image: containrrr/watchtower
# environment:
# WATCHTOWER_CLEANUP: "true"
# WATCHTOWER_POLL_INTERVAL: 7200 # Checks for updates every two hours
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
18 changes: 10 additions & 8 deletions docker/examples/macos/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@ version: '3.5'

# Example Docker Compose config file for PhotoPrism (macOS)
#
# Note:
# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected
# restarts ("crashes"), especially when the indexer temporarily needs more memory to process large files.
# - 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.
#
# Documentation : https://docs.photoprism.org/getting-started/docker-compose/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Attention: When installing PhotoPrism on a public server outside your home network,
# always run it behind a secure HTTPS reverse proxy like Traefik, Caddy, or NGINX.
# Your files and passwords will be transmitted in clear text otherwise.
#
# DOCKER COMPOSE COMMAND REFERENCE
# see https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface
# --------------------------------------------------------------------------
# Start | docker-compose up -d
# Stop | docker-compose stop
Expand All @@ -27,8 +31,6 @@ version: '3.5'
#
# To search originals for faces without a complete rescan:
# docker-compose exec photoprism photoprism faces index
#
# More examples: https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface

services:
## App Server (required)
Expand Down Expand Up @@ -99,7 +101,7 @@ services:
## see https://mariadb.com/kb/en/server-system-variables/#lower_case_table_names
command: mysqld --lower-case-table-names=1 --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "mariadb_data:/var/lib/mysql" # Never remove
- "mariadb_data:/var/lib/mysql" # never remove
environment:
MYSQL_ROOT_PASSWORD: insecure
MYSQL_DATABASE: photoprism
Expand All @@ -114,7 +116,7 @@ services:
# image: containrrr/watchtower
# environment:
# WATCHTOWER_CLEANUP: "true"
# WATCHTOWER_POLL_INTERVAL: 7200 # Checks for updates every two hours
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
Expand Down
21 changes: 11 additions & 10 deletions docker/examples/scheduler/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
version: '3.5'

# Example Docker Compose config file for PhotoPrism (Linux / AMD64)
#
# Includes Ophelia, a docker job scheduler: https://github.com/mcuadros/ofelia
#
# Note:
# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected
# restarts ("crashes"), especially when the indexer temporarily needs more memory to process large files.
# - 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.
#
# Documentation : https://docs.photoprism.org/getting-started/docker-compose/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Attention: When installing PhotoPrism on a public server outside your home network,
# always run it behind a secure HTTPS reverse proxy like Traefik, Caddy, or NGINX.
# Your files and passwords will be transmitted in clear text otherwise.
#
# DOCKER COMPOSE COMMAND REFERENCE
# see https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface
# --------------------------------------------------------------------------
# Start | docker-compose up -d
# Stop | docker-compose stop
Expand All @@ -32,8 +35,6 @@ version: '3.5'
#
# All commands may have to be prefixed with "sudo" when not running as root.
# This will point the home directory placeholder ~ to /root in volume mounts.
#
# More examples: https://docs.photoprism.org/getting-started/docker-compose/#command-line-interface

services:
## App Server (required)
Expand Down Expand Up @@ -112,14 +113,14 @@ services:
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "./database:/var/lib/mysql" # Never remove
- "./database:/var/lib/mysql" # never remove
environment:
MYSQL_ROOT_PASSWORD: insecure
MYSQL_DATABASE: photoprism
MYSQL_USER: photoprism
MYSQL_PASSWORD: insecure

## Ofelia Job Runner (required)
## Ofelia Job Runner (recommended for running background jobs)
## see https://github.com/mcuadros/ofelia
ofelia:
restart: unless-stopped
Expand All @@ -137,7 +138,7 @@ services:
# image: containrrr/watchtower
# environment:
# WATCHTOWER_CLEANUP: "true"
# WATCHTOWER_POLL_INTERVAL: 7200 # Checks for updates every two hours
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
Loading

0 comments on commit 0bf1e95

Please sign in to comment.