Créer un Cloud Personnel & Galerie Photo IA – Raspberry Pi

Facebook Twitter Instagram YouTube Twitch

Vous souhaitez héberger un cloud personnel et organiser automatiquement vos photos grâce à l’IA ? Ce guide complet vous montre comment transformer un Raspberry Pi en serveur Nextcloud et PhotoPrism, avec Docker pour une installation simple, modulaire et maintenable. Idéal pour une solution économique, privée et sans dépendance aux géants du web.


Prérequis

  • Un Raspberry Pi 4 ou 5 avec Raspberry Pi OS Lite (ou une distribution Debian équivalente). Attention : PhotoPrism fonctionne mal avec moins de 4 Go de RAM ; évitez le Raspberry Pi 3 ou inférieur.

  • Un disque dur externe ou un SSD (recommandé pour des performances optimales)

  • Une connexion réseau stable

  • Une connaissance de base des commandes Linux

  • Un nom de domaine ou une adresse IP publique pour SSL (facultatif, pour accès externe)


Préparation Initiale

  1. Installez Raspberry Pi OS Lite à l’aide de Raspberry Pi Imager.

  2. Mettez à jour le système :

    sudo apt update && sudo apt upgrade -y
  3. Activez SSH pour un accès à distance :

    sudo raspi-config
    # Naviguez vers Interface Options > SSH > Activer
  4. Configurez une IP statique pour votre Raspberry Pi via votre routeur ou en modifiant /etc/dhcpcd.conf :

    sudo nano /etc/dhcpcd.conf
    # Ajoutez :
    interface eth0
    static ip_address=192.168.1.100/24
    static routers=192.168.1.1
    static domain_name_servers=8.8.8.8
  5. Redémarrez :

    sudo reboot

Configuration du Disque

  1. Branchez votre SSD ou disque dur externe.

  2. Identifiez le disque avec :

    lsblk
    # Par exemple, /dev/sda
  3. Formatez-le en ext4 (si nécessaire) :

    sudo mkfs.ext4 /dev/sda1
  4. Montez le disque :

    sudo mkdir /mnt/storage
    sudo mount /dev/sda1 /mnt/storage
  5. Ajoutez au fichier /etc/fstab pour un montage automatique :

    sudo nano /etc/fstab
    # Ajoutez : /dev/sda1 /mnt/storage ext4 defaults 0 2

Performances du Raspberry Pi

Pour des performances optimales :

  • Utilisez un Raspberry Pi 4 ou 5 avec 4 Go de RAM minimum et un SSD.

  • PhotoPrism, qui utilise une IA locale, peut être gourmand en ressources. Limitez le nombre d’images analysées simultanément dans ses paramètres si vous observez des ralentissements.
    Cette configuration convient pour un usage personnel (1 à 5 utilisateurs). Pour plus d’utilisateurs, envisagez un matériel plus puissant.


Installation de Docker et Docker Compose

  1. Installez Docker :

    curl -sSL https://get.docker.com | bash
    sudo usermod -aG docker $USER
    newgrp docker
  2. Installez Docker Compose :

    sudo apt update
    sudo apt install -y python3-pip
    pip3 install docker-compose

Configuration des Répertoires

Créez un répertoire dédié :

mkdir ~/selfcloud
cd ~/selfcloud

Création du Fichier docker-compose.yml

Placez ce fichier dans ~/selfcloud/docker-compose.yml pour configurer Nextcloud, MariaDB et PhotoPrism :

version: '3.8'

services:
db:
image: mariadb
container_name: mariadb
restart: unless-stopped
volumes:
./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: nextcloud
MYSQL_USER: ncuser
MYSQL_PASSWORD: ncpw

nextcloud:
image: nextcloud
container_name: nextcloud
restart: unless-stopped
ports:
8080:80
volumes:
./nextcloud:/var/www/html
depends_on:
db

photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
restart: unless-stopped
ports:
2342:2342
environment:
PHOTOPRISM_ADMIN_PASSWORD: « photopass »
PHOTOPRISM_IMPORT_PATH: « /photoprism/import »
volumes:
./photoprism/storage:/photoprism/storage
./nextcloud:/photoprism/import


Configuration Réseau

Ouvrez les ports nécessaires si un pare-feu est actif (par exemple, ufw) :

sudo ufw allow 8080
sudo ufw allow 2342
sudo ufw allow 80
sudo ufw allow 443

Attention : Pour un accès externe, configurez une redirection de ports sur votre routeur uniquement après avoir activé SSL.


Configuration SSL avec Nginx Proxy Manager

Pour sécuriser l’accès avec HTTPS, installez Nginx Proxy Manager via Docker :

  1. Créez un répertoire :

    mkdir ~/nginx-proxy
    cd ~/nginx-proxy
  2. Créez le fichier docker-compose.yml dans ce répertoire et ajoutez le contenu suivant :

    version: '3.8'
    services:
    app:
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
    - 80:80
    - 443:443
    - 81:81
    volumes:
    - ./data:/data
    - ./letsencrypt:/etc/letsencrypt
  3. Lancez Nginx Proxy Manager :

    docker compose up -d
  4. Accédez à Nginx Proxy Manager : http://[IP_DU_RPI]:81
    Identifiants par défaut : admin@example.com / changeme
    Changez le mot de passe immédiatement.

  5. Configurez un proxy pour Nextcloud et PhotoPrism :

    • Ajoutez un Proxy Host pour Nextcloud avec le domaine nextcloud.votredomaine.com et l’IP cible [IP_DU_RPI]:8080.

    • Activez SSL avec un certificat Let’s Encrypt.

    • Répétez la configuration pour PhotoPrism : [IP_DU_RPI]:2342.


Démarrage des Services

Lancez les conteneurs :

cd ~/selfcloud
docker compose up -d

Accédez aux interfaces via un navigateur :


Première Connexion

Nextcloud :

  1. Accédez à http://[IP_DU_RPI]:8080.

  2. Créez un compte administrateur.

PhotoPrism :

  1. Accédez à http://[IP_DU_RPI]:2342.

  2. Connectez-vous avec : admin / photopass.


Utilisation des Services

  • Nextcloud : Connectez-vous et téléversez vos photos.

  • PhotoPrism : Les images sont automatiquement organisées par date, lieu ou visages grâce à l’IA locale, sans dépendance à des services externes.


Sécurisation de l’Installation

  • Remplacez les mots de passe par défaut par des valeurs sécurisées.

  • Sauvegardez régulièrement les volumes Docker :

    tar -czvf backup_$(date +%F).tar.gz ~/selfcloud
  • Stockez les sauvegardes sur un disque externe ou un autre serveur, et testez-les régulièrement.

  • Maintenez les images à jour :

    docker compose pull
    docker compose up -d

Dépannage

En cas de problème :

  1. Consultez les logs des conteneurs :

    docker compose logs
  2. Problèmes courants :

    • Nextcloud inaccessible : Vérifiez que le port 8080 est ouvert et que MariaDB fonctionne.

    • PhotoPrism lent : Réduisez la résolution des images ou utilisez un SSD.

    • Erreur de montage disque : Assurez-vous que /mnt/storage est accessible et correctement configuré dans /etc/fstab.


Approfondir la Configuration

  • Automatisation des sauvegardes : Planifiez des sauvegardes quotidiennes avec une tâche cron :

    crontab -e
    # Ajoutez :
    0 2 * * * tar -czvf /mnt/storage/backup_$(date +\%F).tar.gz ~/selfcloud
  • Optimisation avancée de PhotoPrism : Activez la reconnaissance faciale et la géolocalisation dans les paramètres.

  • Configuration avancée de Docker Compose : Personnalisez PhotoPrism en modifiant le fichier docker-compose.yml.


Cela vous offre un cloud privé et une galerie photo intelligente hébergés localement sur votre Raspberry Pi, garantissant une solution économique, sécurisée et respectueuse de votre vie privée.

Leave a Reply