How to install Photoprism on a Virtual Private Server (VPS)
About Photoprism
Photoprism is a self-hosted photo-organizer, that provides unlimited storage as well as a privacy-friendly platform for uploading and storing images of your loved ones.
Official Website: https://photoprism.app/
Recommended OS: Ubuntu 20.04 (64 Bit)
Minimum System Requirements
2 vCPU Core
3 GB RAM
60 GB of Disk
Beyond these minimum requirements, the amount of RAM should match the number of CPU cores.
Installing Photoprism on VPS
Unlike SC2, VPS does not come with easy one-click applications. We will need to manually install Photoprism on a Virtual Private Server.
If you are using SC2, you can install the application with just one click and refer to our Getting Started Guide to start using Photoprism!
Head on over to our VPS plans page and choose your desired plan. For this example, we deployed VPS-2 plan with 1GB add-on RAM and 20GB add-on Disk.
Once your server is provisioned, log in via SSH with the credentials sent to you via email. You can also check system sent emails in your CloudCone account portal
It is recommended to run Photoprism with Docker Compose. All you need to have installed is a Web browser and Docker.
Install Docker
Update the repo to get latest versions
sudo apt update
Install the latest version
sudo apt install docker.io
Set Docker to start on startup
sudo systemctl enable --now docker
Give your user permissions to docker, replacing user with your username
sudo usermod -aG docker user
If you receive an error sudo: unable to resolve host server_name: Name or service not known. Two things to check (assuming your server hostname is called test.photoprism.server, you can change this as appropriate):
That the /etc/hostname file contains just the name of the machine.
That /etc/hosts has an entry for localhost. It should have something like:
127.0.0.1 localhost.localdomain localhost
127.0.1.1 test.photoprism.server
Test if it has installed correctly by getting the docker version
docker --version
Install Docker Compose
This downloads 1.29.2, change this if the version updates to a later version
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Give permissions to this
sudo chmod +x /usr/local/bin/docker-compose
Test if it has installed correctly by getting the docker-compose version
docker-compose --version
Install Photoprism
Download the latest docker-compose.yml for Photoprism
wget https://dl.photoprism.org/docker/docker-compose.yml
Change the default admin password in the docker-compose.yml file and also the location of pictures if not in ~\Pictures.
sudo nano https://dl.photoprism.org/docker/docker-compose.yml
Find the line PHOTOPRISM_ADMIN_PASSWORD: "insecure" and replace it with your own secure password.
PHOTOPRISM_ADMIN_PASSWORD: "NewSecurePassword" # PLEASE CHANGE: Your initial admin password (min 4 characters)
For the photo’s location, find the line
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
Under this add the path to your pictures volume, followed by :/photoprism/originals/identifyingname changing identifyingname for something specific to you.
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
- "/media/path/to/pictures:/photoprism/originals/identifyingname"
Start the server, this may take a few minutes.
docker-compose up -d
Once complete, browse to http://<your_server_ip>:2342. You will get the screen below, enter your NewSecurePassword you created in the file above.
Indexing photos
Once logged in, go to Library from the left Navigation Menu and then press Start. It will start to index your photos, and will take a while especially if you have lots of photos.
Important files and documents
Visit Photoprism official documentation site here: https://docs.photoprism.app/
Updated on: 02/11/2022
Thank you!