Google Foto, Amazon Photos, Dropbox, Apple iCloud e altri servizi simili consentono agli utenti di gestire, organizzare e cercare le proprie foto creando album fotografici facili da condividere con gli altri utenti.
PhotoPrism è un prodotto più articolato, capace di venire incontro non soltanto alle esigenze degli utenti normali ma anche dei professionisti.
Si tratta infatti di una soluzione opensource che permette la creazione di un archivio foto all’interno della propria rete locale (magari rendendolo poi accessibile mediante una connessione VPN) oppure sul cloud.
Con PhotoPrism non si condivideranno più i propri dati con aziende come Google, Amazon, Dropbox, Apple e così via e si potrà contare su uno strumento completo, flessibile e versatile accessibile da browser web per creare archivi fotografici, catalogare le immagini e condividerle.
La piattaforma PhotoPrism consente anche di indicizzare le foto e gestire i duplicati occupandosi anche delle conversioni da RAW a JPEG.
Grazie all’utilizzo di algoritmi basati sull’intelligenza artificiale (Google TensorFlow) PhotoPrism consente di riconoscere il contenuto delle foto e applicare tag.
Supporta anche il cosiddetto reverse geocoding ovvero la conversione delle coordinate geografiche della posizione in cui la foto è stata acquisita in un indirizzo immediatamente leggibile e riconoscibile.
Un altro vantaggio di PhotoPrism è che esso si basa su Docker: basta quindi scaricare il relativo container in Linux, macOS o Windows per disporre di uno strumento già preconfigurato, almeno per ciò che riguarda i requisiti d’ambiente, e pronto per essere utilizzato.
Nel nostro caso installiamo PhotoPrism su Ubuntu 20.04 ma l’installazione è sostanzialmente identica a parte i passaggi relativi al caricamento di Docker e Docker Compose. Tutti i comandi presentati di seguito presuppongono l’utilizzo del comando sudo
che può essere omesso nel caso in cui si fossero già acquisiti i diritti di root.
Ciò che si otterrà è qualcosa di simile a quanto visibile in questa pagina.
Configurare Docker CE e Docker Compose su Ubuntu
Prima di tutto è importante digitare un comando che permette di specificare l’indirizzo mnemonico per l’host Ubuntu che ospiterà PhotoPrism. Si può ad esempio usare un dominio di terzo o quarto livello: hostnamectl set-hostname terzolivello.nomedominio-azienda.org
Contemporaneamente bisognerà creare anche il record DNS corretto.
Impartendo i seguenti comandi nella finestra del terminale di Ubuntu o via shell SSH si può installare molto velocemente il software di containerizzazione Docker CE:
apt update && apt -y upgrade
apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common certbot python3-certbot-nginx nginx apache2-utils
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker-ce.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io
A questo punto bisogna controllare qual è la versione più aggiornata di Docker Compose in questa pagina GitHub.
Il comando successivo consente di sostituire a VERSIONE il numero di versione rilevato su GitHub (ad esempio 1.28.5
):
Per rendere avviabile Docker Compose si può quindi usare il comando chmod +x /usr/local/bin/docker-compose
Per verificare che sia tutto a posto si può scrivere docker-compose version
in modo da ottenere conferma del numero di versione installata.
Generare il certificato digitale per usare PhotoPrism mediante una connessione HTTPS
Dopo aver correttamente configurato il nome host della macchina e creato il corretto record DNS si può scrivere quanto segue per accedere alla procedura di generazione automatica di un certificato Let’s Encrypt:
Sostituire ovviamente terzolivello.nomedominio-azienda.org con il terzo livello impostato in precedenza a livello di DNS.
Installare PhotoPrism in Docker
Prima di aggiungere il container di PhotoPrism a Docker suggeriamo di portarsi in una cartella di propria scelta quindi digitare:
wget https://dl.photoprism.org/docker/docker-compose.yml
nano docker-compose.yml
Al posto di insecure impostare una password di accesso sufficientemente lunga e complessa in corrispondenza di PHOTOPRISM_ADMIN_PASSWORD
e di PHOTOPRISM_DATABASE_PASSWORD
.
Più sotto, in corrispondenza di MYSQL_ROOT_PASSWORD
bisognerà specificare la password root di MariaDB quindi specificare la password dell’utente photoprism a destra di MYSQL_PASSWORD
.
Premendo CTRL+O
quindi CTRL+X
si potranno salvare le modifiche e chiudere l’editor di testo.
Eseguendo il comando seguente il container di PhotoPrism sarà automaticamente configurato insieme con quello di MariaDB, necessario per gestire il database:
Purtroppo al momento PhotoPrism non supporta direttamente il protocollo HTTPS a livello di file di configurazione docker-compose.yml
.
Digitare nano /etc/nginx/sites-enabled/terzolivello.nomedominio-azienda.org
quindi incollare nel file la configurazione del server web NGINX che si trova in questa pagina al paragrafo Setup NGINX.
Al posto di tutte le occorrenze photoprism.example.com
bisognerà sostituire terzolivello.nomedominio-azienda.org
ovvero il terzo livello scelto in precedenza e impostato a livello di DNS.
In chiusura del file di configurazione bisognerà sostituire http://docker.homenet
con http://localhost
.
Digitando service nginx restart
quindi aprendo il browser web e collegandosi all’indirizzo https://terzolivello.nomedominio-azienda.org
dovrebbe apparire la schermata di login di PhotoPrism.
In caso di difficoltà digitare mv /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/backup-def
e usare il comando service nginx restart
per riavviare il web server.
Utilizzando il comando nano docker-compose.yml
si può togliere il commento iniziale da restart: unless-stopped
per fare in modo che il container di PhotoPrism si riavvii automaticamente quando necessario.
Per applicare la modifica digitare:
docker-compose stop
docker-compose up -d
A questo punto si avrà a disposizione un archivio foto completo simile a quello visibile a questo indirizzo.
Ovviamente ci sono una serie di operazioni di fine tuning che è possibile condurre ma quella presentata è grosso modo la procedura di base da seguire per creare un archivio fotografico personale utilizzando un software opensource come PhotoPrism.