Déploiement de Seafile avec docker Compose
Seafile est un système de stockage de fichiers gratuit, open source et multiplateforme similaire
à Dropbox. Il est utilisé pour partager et synchroniser des fichiers entre utilisateurs et groupes.
Il peut être facilement intégré à LDAP et WebDAV. Il prend en charge la gestion des versions
de fichiers, les instantanés et l'authentification à deux facteurs. Vous pouvez le déployer avec
le serveur Web MySQL, MariaDB, PostgreSQL, Apache et Nginx. Les fichiers sont stockés sur
le serveur Seafile et peuvent être synchronisés avec des ordinateurs personnels et des appareils
mobiles via des applications. Vous pouvez également accéder et gérer Seafile via un navigateur
Web.
Caractéristiques
1. Stockage et Synchronisation
Bibliothèques de Fichiers
 Organisation : Les fichiers sont stockés dans des "bibliothèques" qui agissent comme
des répertoires de premier niveau. Cela permet une organisation modulaire et flexible.
 Gestion : Chaque bibliothèque peut être synchronisée indépendamment avec les
appareils locaux, offrant un contrôle granulaire sur ce qui est synchronisé.
Synchronisation Sélective
 Fonctionnalité : Permet de sélectionner uniquement certains fichiers ou dossiers d’une
bibliothèque pour la synchronisation avec les appareils locaux.
 Avantage : Optimise l’utilisation de l’espace disque en évitant de synchroniser des
fichiers inutiles.
Synchronisation en Temps Réel
 Automatisation : Les modifications effectuées sur les fichiers sont automatiquement
synchronisées avec le serveur et les autres appareils connectés.
 Efficacité : Assure que tous les utilisateurs ont accès à la version la plus récente des
fichiers.
2. Partage et Collaboration
Partage de Liens
 Liens Partageables : Les utilisateurs peuvent créer des liens web pour partager des
fichiers ou des dossiers.
 Permissions : Les liens peuvent être configurés avec des droits en lecture seule ou en
modification, et peuvent être protégés par mot de passe ou avoir une date d’expiration.
Groupes de Travail
 Création de Groupes : Permet la création de groupes pour faciliter la collaboration
entre membres.
 Gestion des Permissions : Les administrateurs peuvent définir des permissions
spécifiques (lecture, écriture, partage) pour chaque membre du groupe.
Commentaires
 Interaction : Les utilisateurs peuvent ajouter des commentaires sur les fichiers,
permettant des discussions et un retour d’information en contexte.
 Historique : Les commentaires sont enregistrés et peuvent être consultés
ultérieurement.
3. Sécurité et Contrôle
Chiffrement
 Chiffrement Côté Client : Les bibliothèques peuvent être chiffrées avec un mot de
passe côté client, garantissant que seuls les utilisateurs autorisés peuvent accéder au
contenu.
 Confidentialité : Les fichiers chiffrés ne sont lisibles que par l'utilisateur possédant le
mot de passe.
Permissions Granulaires
 Contrôle des Accès : Les administrateurs peuvent définir des permissions d’accès
spécifiques pour chaque fichier ou dossier.
 Flexibilité : Les permissions peuvent être ajustées pour répondre à des besoins variés,
de la simple lecture à la modification complète.
Audit et Historique
 Journalisation : Seafile tient un journal des activités, permettant de suivre les
modifications, les accès et les actions des utilisateurs.
 Suivi : L'historique des versions des fichiers permet de revenir à des versions antérieures
en cas de besoin.
4. Accessibilité et Intégration
Applications Multi-plateformes
 Compatibilité : Seafile propose des applications pour Windows, macOS, Linux, iOS,
et Android, permettant un accès aux fichiers depuis divers appareils.
 Utilisation Cohérente : L’interface et les fonctionnalités sont harmonisées sur toutes
les plateformes.
Intégration
 Protocole WebDAV : Permet l’intégration avec d’autres systèmes de gestion de
fichiers, offrant un accès facile via des clients tiers.
 API : Seafile propose une API pour les intégrations personnalisées avec d'autres
applications et services.
5. Déploiement et Maintenance
Déploiement Flexible
 Options de Déploiement : Seafile peut être installé sur des serveurs locaux, des VPS,
ou des services cloud, offrant une flexibilité en fonction des besoins de l’utilisateur ou
de l’entreprise.
 Support Docker : Offre des images Docker pour un déploiement rapide et simplifié.
Administration Simplifiée
 Interface d'Administration : Une interface web permet la gestion des utilisateurs, des
bibliothèques, et des permissions.
 Maintenance : Les outils d’administration aident à surveiller l'utilisation, à gérer les
mises à jour, et à effectuer des sauvegardes.
Références et Ressources
 Documentation Seafile : Guide complet pour l'installation, la configuration, et
l'utilisation de Seafile.
 Seafile sur GitHub : Référentiel officiel pour le code source et les contributions open-
source.
 Comparaison des fonctionnalités : Comparaison entre Seafile et d’autres solutions
comme Nextcloud et OwnCloud.
Installation et Configuration de Seafile avec Docker-compose
root@6d9f133ba373:/home/admin/seafle#mkdir seafle
root@6d9f133ba373:/home/admin/seafle#cd seafle
root@6d9f133ba373:/home/admin/seafle# nano docker-compose.yaml
---
version: "2.1"
services:
seafile-db:
image: mariadb:10.5
container_name: seafile-db
environment:
- MYSQL_ROOT_PASSWORD=${SEAFILE_MYSQL_PASSWORD}
- MYSQL_LOG_CONSOLE=true
volumes:
- ${DOCKER_FOLDER}/seafile/db:/var/lib/mysql
restart: always
seafile-memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
restart: always
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "8080:80"
volumes:
- ${DOCKER_FOLDER}/seafile/data:/shared
environment:
- DB_HOST=seafile-db
- DB_ROOT_PASSWD=${SEAFILE_MYSQL_PASSWORD}
- SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL}
- SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PASSWORD}
depends_on:
- seafile-db
- seafile-memcached
restart: always
Création du fichier .env pour renseigner les paramètres de connexions de la plateforme Seafile
root@6d9f133ba373:/home/admin/seafle# nano .env
root@6d9f133ba373:/home/admin/seafle# mkdir docker
root@6d9f133ba373:/home/admin/seafle# chown -R admin:users docker
root@6d9f133ba373:/home/admin/seafle/docker# pwd
/home/admin/seafle/docker
root@6d9f133ba373:/home/admin/seafle/docker# nano ../.env
DOCKER_FOLDER=/home/admin/seafle/docker
SEAFILE_MYSQL_PASSWORD=root
SEAFILE_ADMIN_EMAIL=admin@mail.com
SEAFILE_ADMIN_PASSWORD=password
root@6d9f133ba373:/home/admin/seafle# docker compose up –d
root@6d9f133ba373:/home/admin/seafle# docker ps
Modification de mot de passe
Activation de l’authentification a deux facteurs
Création d’une nouvelle bibliotheque sur le serveur
Après la création de la bibliothèque on va côté client Windows et on actualise
Synchronisation
Clic droit sur la bibliothèque puis synchroniser
On met un fichier pdf dans la bibliothèque
On vérifie coté serveur
Création d’un fichier
Création des comptes utilisateurs seafile
Pour créer un utilisateur cliquer sur avatar puis sur Administration système ensuite à gauche
cliquer sur utilisateurs et enfin sur ajouter un utilisateur et remplissez les champs demandés.
Client seafle Android
Création de groupe
Ajouter des membres dans le groupe Master 1
Gestion des droits
Partage de fichier entre les étudiants
Liste des étudiants connectés via le téléphone Android
Liste des étudiants connectés par machine
Gestion des tâches administratives
Cas 1 : Rapports des étudiants
Historiques de partages des fichiers
Déploiement de Seafile avec docker Compose.pdf

Déploiement de Seafile avec docker Compose.pdf

  • 1.
    Déploiement de Seafileavec docker Compose Seafile est un système de stockage de fichiers gratuit, open source et multiplateforme similaire à Dropbox. Il est utilisé pour partager et synchroniser des fichiers entre utilisateurs et groupes. Il peut être facilement intégré à LDAP et WebDAV. Il prend en charge la gestion des versions de fichiers, les instantanés et l'authentification à deux facteurs. Vous pouvez le déployer avec le serveur Web MySQL, MariaDB, PostgreSQL, Apache et Nginx. Les fichiers sont stockés sur le serveur Seafile et peuvent être synchronisés avec des ordinateurs personnels et des appareils mobiles via des applications. Vous pouvez également accéder et gérer Seafile via un navigateur Web. Caractéristiques 1. Stockage et Synchronisation Bibliothèques de Fichiers  Organisation : Les fichiers sont stockés dans des "bibliothèques" qui agissent comme des répertoires de premier niveau. Cela permet une organisation modulaire et flexible.  Gestion : Chaque bibliothèque peut être synchronisée indépendamment avec les appareils locaux, offrant un contrôle granulaire sur ce qui est synchronisé.
  • 2.
    Synchronisation Sélective  Fonctionnalité: Permet de sélectionner uniquement certains fichiers ou dossiers d’une bibliothèque pour la synchronisation avec les appareils locaux.  Avantage : Optimise l’utilisation de l’espace disque en évitant de synchroniser des fichiers inutiles. Synchronisation en Temps Réel  Automatisation : Les modifications effectuées sur les fichiers sont automatiquement synchronisées avec le serveur et les autres appareils connectés.  Efficacité : Assure que tous les utilisateurs ont accès à la version la plus récente des fichiers. 2. Partage et Collaboration Partage de Liens  Liens Partageables : Les utilisateurs peuvent créer des liens web pour partager des fichiers ou des dossiers.  Permissions : Les liens peuvent être configurés avec des droits en lecture seule ou en modification, et peuvent être protégés par mot de passe ou avoir une date d’expiration. Groupes de Travail  Création de Groupes : Permet la création de groupes pour faciliter la collaboration entre membres.  Gestion des Permissions : Les administrateurs peuvent définir des permissions spécifiques (lecture, écriture, partage) pour chaque membre du groupe. Commentaires  Interaction : Les utilisateurs peuvent ajouter des commentaires sur les fichiers, permettant des discussions et un retour d’information en contexte.  Historique : Les commentaires sont enregistrés et peuvent être consultés ultérieurement.
  • 3.
    3. Sécurité etContrôle Chiffrement  Chiffrement Côté Client : Les bibliothèques peuvent être chiffrées avec un mot de passe côté client, garantissant que seuls les utilisateurs autorisés peuvent accéder au contenu.  Confidentialité : Les fichiers chiffrés ne sont lisibles que par l'utilisateur possédant le mot de passe. Permissions Granulaires  Contrôle des Accès : Les administrateurs peuvent définir des permissions d’accès spécifiques pour chaque fichier ou dossier.  Flexibilité : Les permissions peuvent être ajustées pour répondre à des besoins variés, de la simple lecture à la modification complète. Audit et Historique  Journalisation : Seafile tient un journal des activités, permettant de suivre les modifications, les accès et les actions des utilisateurs.  Suivi : L'historique des versions des fichiers permet de revenir à des versions antérieures en cas de besoin. 4. Accessibilité et Intégration Applications Multi-plateformes  Compatibilité : Seafile propose des applications pour Windows, macOS, Linux, iOS, et Android, permettant un accès aux fichiers depuis divers appareils.  Utilisation Cohérente : L’interface et les fonctionnalités sont harmonisées sur toutes les plateformes. Intégration  Protocole WebDAV : Permet l’intégration avec d’autres systèmes de gestion de fichiers, offrant un accès facile via des clients tiers.
  • 4.
     API :Seafile propose une API pour les intégrations personnalisées avec d'autres applications et services. 5. Déploiement et Maintenance Déploiement Flexible  Options de Déploiement : Seafile peut être installé sur des serveurs locaux, des VPS, ou des services cloud, offrant une flexibilité en fonction des besoins de l’utilisateur ou de l’entreprise.  Support Docker : Offre des images Docker pour un déploiement rapide et simplifié. Administration Simplifiée  Interface d'Administration : Une interface web permet la gestion des utilisateurs, des bibliothèques, et des permissions.  Maintenance : Les outils d’administration aident à surveiller l'utilisation, à gérer les mises à jour, et à effectuer des sauvegardes. Références et Ressources  Documentation Seafile : Guide complet pour l'installation, la configuration, et l'utilisation de Seafile.  Seafile sur GitHub : Référentiel officiel pour le code source et les contributions open- source.  Comparaison des fonctionnalités : Comparaison entre Seafile et d’autres solutions comme Nextcloud et OwnCloud. Installation et Configuration de Seafile avec Docker-compose root@6d9f133ba373:/home/admin/seafle#mkdir seafle root@6d9f133ba373:/home/admin/seafle#cd seafle
  • 5.
    root@6d9f133ba373:/home/admin/seafle# nano docker-compose.yaml --- version:"2.1" services: seafile-db: image: mariadb:10.5 container_name: seafile-db environment: - MYSQL_ROOT_PASSWORD=${SEAFILE_MYSQL_PASSWORD} - MYSQL_LOG_CONSOLE=true volumes: - ${DOCKER_FOLDER}/seafile/db:/var/lib/mysql restart: always seafile-memcached: image: memcached:1.5.6 container_name: seafile-memcached entrypoint: memcached -m 256 restart: always seafile: image: seafileltd/seafile-mc:latest container_name: seafile ports: - "8080:80" volumes: - ${DOCKER_FOLDER}/seafile/data:/shared environment: - DB_HOST=seafile-db - DB_ROOT_PASSWD=${SEAFILE_MYSQL_PASSWORD} - SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL} - SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PASSWORD} depends_on: - seafile-db - seafile-memcached restart: always
  • 6.
    Création du fichier.env pour renseigner les paramètres de connexions de la plateforme Seafile root@6d9f133ba373:/home/admin/seafle# nano .env root@6d9f133ba373:/home/admin/seafle# mkdir docker root@6d9f133ba373:/home/admin/seafle# chown -R admin:users docker
  • 7.
    root@6d9f133ba373:/home/admin/seafle/docker# pwd /home/admin/seafle/docker root@6d9f133ba373:/home/admin/seafle/docker# nano../.env DOCKER_FOLDER=/home/admin/seafle/docker SEAFILE_MYSQL_PASSWORD=root SEAFILE_ADMIN_EMAIL=admin@mail.com SEAFILE_ADMIN_PASSWORD=password
  • 8.
    root@6d9f133ba373:/home/admin/seafle# docker composeup –d root@6d9f133ba373:/home/admin/seafle# docker ps
  • 12.
  • 13.
  • 23.
    Création d’une nouvellebibliotheque sur le serveur
  • 24.
    Après la créationde la bibliothèque on va côté client Windows et on actualise Synchronisation
  • 25.
    Clic droit surla bibliothèque puis synchroniser
  • 26.
    On met unfichier pdf dans la bibliothèque On vérifie coté serveur Création d’un fichier
  • 28.
    Création des comptesutilisateurs seafile Pour créer un utilisateur cliquer sur avatar puis sur Administration système ensuite à gauche cliquer sur utilisateurs et enfin sur ajouter un utilisateur et remplissez les champs demandés.
  • 29.
  • 31.
  • 32.
    Ajouter des membresdans le groupe Master 1
  • 33.
    Gestion des droits Partagede fichier entre les étudiants
  • 35.
    Liste des étudiantsconnectés via le téléphone Android
  • 36.
    Liste des étudiantsconnectés par machine Gestion des tâches administratives Cas 1 : Rapports des étudiants
  • 38.