Installer Photoprism avec Podman

Testez-le maintenant pour 1 euro seulement !
Vous avez de grands projets d’hébergement avec beaucoup de ressources ? Avec le CloudServer (VPS) de hosting.fr, ce n’est pas un problème. Grâce à notre vaste gamme d’outils d’hébergement, vous bénéficiez d’une liberté absolue. Bien entendu, vous pouvez choisir librement le système d’exploitation en appuyant sur un bouton.
Réserver un serveur cloud maintenant

Introduction

PhotoPrism est un logiciel web pour gérer des photos qui peut être exécuté sur un serveur personnel. Les développeurs recommandent d’exécuter le logiciel dans un conteneur et fournissent un fichier docker-compose. De plus, un serveur web nginx est utilisé pour gérer le TLS et rediriger les demandes vers le conteneur Photoprism.

Prérequis

  • Vous disposez d’un serveur cloud hosting.fr avec un enregistrement DNS valide, par exemple demo.mustermann-domain.de.
  • Un accès shell privilégié sur le système.

Installer les paquets

apt update
apt install podman podman-compose

Installer Photoprism

Créer un répertoire pour le conteneur

mkdir /opt/photoprism

Télécharger le fichier compose de Photoprism

cd /opt/photoprism
wget https://dl.photoprism.app/podman/docker-compose.yml

Modifier le fichier docker-compose.yml et ajuster les valeurs suivantes :

  • restart: always
    Les conteneurs avec restart: always démarreront automatiquement au démarrage de Debian
  • 127.0.0.1:2342:2342
    Lier Photoprism à localhost car nginx doit ici agir en tant que frontend
  • PHOTOPRISM_DISABLE_PLACES: true
    Désactive la requête de géolocalisation par les développeurs. Doit être mis à false si des cartes doivent être affichées.
  • PHOTOPRISM_ADMIN_PASSWORD
    Le mot de passe admin pour la connexion web
  • MARIADB_PASSWORD ou MARIADB_ROOT_PASSWORD
    Définir les mots de passe de la base de données.
. . .
    image: photoprism/photoprism:latest
    container_name: photoprism
    ## Ne pas activer les redémarrages automatiques tant que Photoprism n'a pas été correctement configuré et testé !
    ## Si le service se retrouve coincé dans une boucle de redémarrage, cela indique un problème de mémoire, de système de fichiers, de réseau ou de base de données :
    ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors
    # restart: unless-stopped
    restart: always
. . .
    ports:
      ## Mappage des ports du serveur web au format "Hôte:Conteneur". Pour utiliser un port différent, changez le port hôte
      ## à gauche et conservez le port du conteneur, par exemple "80:2342" (pour HTTP) ou "443:2342" (pour HTTPS) :
      - "127.0.0.1:2342:2342"
. . .
PHOTOPRISM_ADMIN_PASSWORD: "<nouveau mot de passe admin>"
. . .
PHOTOPRISM_DISABLE_PLACES: "true"
. . .
PHOTOPRISM_DATABASE_PASSWORD: "<mot de passe de la base de données photoprism>"
. . .
  ## Serveur de base de données MariaDB (recommandé)
  ## voir https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql
  mariadb:
    ## Si MariaDB se retrouve coincé dans une boucle de redémarrage, cela indique un problème de mémoire ou de système de fichiers :
    ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors
    # restart: unless-stopped
    restart: always
. . .
MARIADB_DATABASE: "photoprism"
MARIADB_USER: "photoprism"
MARIADB_PASSWORD: "<mot de passe de la base de données photoprism>"
MARIADB_ROOT_PASSWORD: "<mot de passe root de la base de données>"
. . .

Démarrer le conteneur

podman-compose up -d

Les différents conteneurs seront téléchargés et démarrés. Une fois terminé, vous devriez voir deux conteneurs en cours d’exécution avec

podman ps

Tester Photoprism

Pour tester Photoprism, une connexion ssh avec redirection de port doit être utilisée :

ssh -L 127.0.0.1:2342:127.0.0.1:2342 root@demo.mustermann-domain.de

Vous pouvez maintenant accéder à la page Photoprism dans le navigateur à http://127.0.0.1:2342 pour vérifier si tout fonctionne.

Installer Nginx

Installer Nginx avec des certificats Let’s Encrypt installer.

Après que le domaine a été configuré dans Nginx pour Let’s Encrypt TLS, vous devez étendre la configuration pour Photoprism. Pour cela, le fichier /etc/nginx/sites-enabled/demo.mustermann-domain.de doit être modifié

server {
    server_name demo.mustermann-domain.de;

    include snippets/mozilla-modern.conf;
    . . .

    # permettre de télécharger de gros fichiers
    client_max_body_size 50000M;

    # Définir les en-têtes
    proxy_set_header Host              $http_host;
    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # activer les websockets : http://nginx.org/en/docs/http/websocket.html
    proxy_http_version 1.1;
    proxy_set_header   Upgrade    $http_upgrade;
    proxy_set_header   Connection "upgrade";
    proxy_redirect     off;

    # définir le délai d'attente
    proxy_read_timeout 600s;
    proxy_send_timeout 600s;
    send_timeout       600s;

    location / {
        proxy_pass http://127.0.0.1:2342;
    }
}

Ensuite, vérifiez la configuration Nginx avec nginx-t pour la validité et redémarrez le serveur web (systemctl restart nginx.service). Enfin, vérifiez si Photoprism est désormais accessible via https://demo.mustermann-domain.de.

Créer un nouvel utilisateur dans l’édition Community

Dans l’édition Community, il y a plusieurs limitations en matière de fonctionnement multi-utilisateur :

  • Seuls les utilisateurs ayant le rôle d’administrateur peuvent être créés
  • La gestion des utilisateurs ne fonctionne que via la CLI

Vous pouvez configurer un nouvel utilisateur avec la commande suivante :

podman-compose exec photoprism photoprism users add --password <mot de passe> <nom d'utilisateur>

N'hésitez pas à vous inscrire à notre newsletter



Nous vous remercions de votre inscription à la newsletter hosting.fr.