photoprism/docker/examples/cloud
2021-08-08 11:24:50 +02:00
..
certs
digitalocean Docker: Remove logout.sh script from DigitalOcean config 2021-08-06 01:42:39 +02:00
digitalocean.json Makefile: Add build target for DigitalOcean cloud image 2021-08-06 08:57:50 +02:00
docker-compose.yml Docker: Add Let's Encrypt info to cloud config docs 2021-08-08 11:24:50 +02:00
install_photoprism.sh Docker: Add scripts and packer config for DigitalOcean 2021-08-06 01:36:34 +02:00
jobs.ini
README.txt Docker: Add Let's Encrypt info to cloud config docs 2021-08-08 11:24:50 +02:00
setup.sh Docker: Improve cloud config example 2021-08-06 00:06:17 +02:00
traefik.yaml Docker: Add Let's Encrypt info to cloud config docs 2021-08-08 11:24:50 +02:00

PhotoPrism for Cloud Servers running Ubuntu 20.04 LTS (Focal Fossa)
===================================================================

Run this script as root to install PhotoPrism on a cloud server e.g. at DigitalOcean:

  bash <(curl -s https://dl.photoprism.org/docker/cloud/setup.sh)

This may take a while to complete, depending on the performance of your
server and its internet connection.

When done - and you see no errors - please open

  https://<YOUR SERVER IP>/

in a Web browser and log in using the initial admin password shown
by the script. You may also see the initial password by running

  cat /root/.initial-password.txt

as root on your server. To open a terminal:

  ssh root@<YOUR SERVER IP>

Data and all config files related to PhotoPrism can be found in

  /opt/photoprism

The main docker-compose config file for changing config options is

  /opt/photoprism/docker-compose.yml

The server is running as "photoprism" (UID 1000) by default. There's no need
to change defaults unless you experience conflicts with other services running
on the same server. For example, you may need to disable the Traefik reverse
proxy as the ports 80 and 443 can only be used by a single web server / proxy.

Configuring multiple apps on the same server is beyond the scope of this base
config and for advanced users only.

## System Requirements ##

We recommend hosting PhotoPrism on a server with at least 2 cores and
4 GB of memory. Beyond these minimum requirements, the amount of RAM
should match the number of cores. Indexing large photo and video
collections significantly benefits from fast, local SSD storage.

RAW file conversion and automatic image classification using TensorFlow
will be disabled on servers with less than 2 GB of physical memory.

## Using Let's Encrypt as HTTPS certificate resolver ##

By default, a self-signed certificate will be used for HTTPS connections.
Browsers are going to show a security warning because of that. Depending
on your settings, they may also refuse connecting at all.

To get an official, free HTTPS certificate from Let's Encrypt, your server
needs a fully  qualified public domain name first, e.g. "photos.yourdomain.com".
You may add a static DNS entry (on DigitalOcean go to Networking > Domains),
or use a Dynamic DNS service of your choice.

Once your server has a public domain name, please disable the self-signed
certificate and enable domain based routing in docker-compose.yml and
traefik.yaml (see inline instructions in !! UPPERCASE !!):

  ssh root@<YOUR SERVER IP>
  nano /opt/photoprism/docker-compose.yml
  nano /opt/photoprism/traefik.yaml

Then restart services in a terminal for the changes to take effect:

  docker-compose stop
  docker-compose up -d

To check logs for errors:

  docker-compose logs -f