feigned

Installer et configurer Seafile (serveur) sur Ubuntu/Debian

Crédits : Snapwire

Seafile est une solution de synchronisation et de partage de fichiers open source, fiable et performante à l’instar de son concurrent Nextcloud.

Si vous cherchez à créer votre service de stockage en ligne, Seafile est sans doute le meilleur choix !

Dans ce tutoriel, nous allons voir comment installer et configurer Seafile sur un serveur Ubuntu/Debian et ensuite comment synchroniser ses fichiers avec le serveur.

Préambule : Seafile

Voici la liste des fonctionnalités de Seafile :

  • Synchronisation des fichiers : organisez vos fichiers dans des bibliothèques. Une bibliothèque peut être synchronisée de manière sélective sur n’importe quel appareil.
  • Client Drive : accédez à vos fichiers dans le cloud sans les synchroniser. Vos fichiers peuvent également être utilisés hors ligne.
  • Chiffrement de fichiers intégré : une bibliothèque peut être chiffrée par un mot de passe que vous avez choisi. Les fichiers sont chiffrés avant la synchronisation avec le serveur.
  • Rapide et performant : le cœur du serveur Seafile est écrit avec le langage de programmation C.
  • Fonctionnalités avancées : intégration AD/LDAP, synchronisation de groupes, hiérarchie des services, contrôle précis des autorisations…

Avant de commencer, assurez-vous d’avoir un serveur dédié parfaitement configuré :

Commander, installer et configurer un serveur dédié

Installer et configurer Seafile (côté serveur)

Étape 1 : installer Docker

Nous allons installer Seafile à l’intérieur d’un conteneur isolé du reste du système à l’aide du logiciel Docker.

C’est simple, rapide et puissant !

Info : les lignes qui suivent supposent que vous installez Seafile sur un serveur Debian. Si vous avez un serveur Ubuntu, remplacez simplement debian par ubuntu quand cela se présentera.

C’est parti :

  1. Connectez-vous à votre serveur via SSH :
    ssh <username>@<hostname>

    Remplacez username par le nom du compte utilisateur et hostname par l’adresse IP ou le nom d’hôte du serveur.

  2. Mettez à jour la liste des paquets :
    sudo apt update
  3. Installez les paquets nécessaires à apt pour utiliser un dépôt avec le protocole HTTPS :
    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
  4. Ajoutez la clé GPG de Docker :
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  5. Ajoutez le dépôt stable de Docker :
    echo \
      "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  6. Mettez à jour la liste des paquets :
    sudo apt update
  7. Installez la dernière version de Docker CE (Community Edition) et de containerd :
    sudo apt install docker-ce docker-ce-cli containerd.io
  8. Vérifiez que Docker CE est correctement installé en exécutant l’image hello-word :
    sudo docker run hello-world
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.

    Cette commande télécharge une image de test et l’exécute dans un conteneur. Quand le conteneur s’exécute, il affiche un message d’information puis se ferme.

Étape 1 terminée : Docker est installé sur notre serveur, nous pouvons maintenant installer Seafile !

Étape 2 : installer Seafile

  1. Installez docker-compose :
    sudo apt install docker-compose -y
  2. Téléchargez le fichier docker-compose.yml :
    wget "https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml" -O ~/docker-compose.yml
  3. Éditez le fichier docker-compose.yml et modifiez les champs suivants :
    nano ~/docker-compose.yml
    • MYSQL_ROOT_PASSWORD=xxx et DB_ROOT_PASSWD=xxx
      > remplacez xxx par le mot de passe root du service MySQL (mettez le mot de passe que vous voulez)
    • TIME_ZONE=Europe/Paris
    • SEAFILE_ADMIN_EMAIL=[email protected] et SEAFILE_ADMIN_PASSWORD=mdp
      > remplacez [email protected] par l’adresse e-mail et mdp par le mot de passe du compte admin de Seafile (mettez le mot de passe que vous voulez)
    • SEAFILE_SERVER_LETSENCRYPT=true
      > pour obtenir un certificat SSL auprès de Let’s Encrypt
    • Décommentez la ligne contenant « 443:443 » (supprimez le # en début de ligne)
      > pour activer le protocole HTTPS
    • SEAFILE_SERVER_HOSTNAME=<hostname>
      > l’adresse IP ou le nom de domaine de votre serveur

    Sauvegardez avec Ctrl + O > Entrée, puis quittez avec Ctrl + X.

  4. Démarrez le serveur Seafile :
    sudo docker-compose up -d
  5. Patientez environ 5 à 10 minutes, le temps que l’ensemble du système s’installe dans le conteneur. Vous pouvez d’ailleurs suivre l’installation avec la commande suivante :
    sudo docker logs -f seafile

    Tout est OK lorsque le message suivant s’affiche :

    Seahub is started
    
    Done.
  6. Vous pouvez maintenant vous connecter à l’interface web de l’instance Seafile de votre serveur via https://x.x.x.x ou https://mondomaine.fr :

    Magnifique, n’est-ce pas ? 😎

  7. Pour plus d’informations sur la gestion de Seafile avec Docker, cliquez ici.
Étape 2 terminée : Seafile est correctement installé sur notre serveur !

Synchroniser ses fichiers avec Seafile

Une fois Seafile installé côté serveur, il faut l’installer côté client sur notre ordinateur ou notre smartphone afin de pouvoir synchroniser automatiquement nos fichiers entre nos différents appareils.

Pour en savoir plus, consultez cet article :

Installer et configurer Seafile (client) sur PC et smartphone

131 utilisateurs actifs