Installation de Seafile

Installation  de  Seafile
📌
Seafile est un système de partage de fichiers et de synchronisation Open source. Il est présent sur toutes les plateformes : Linux, Windows, Apple Mac Os, IOS, Android. Il existe une version serveur pour Linux et Raspberry Pi, et aussi une version pro qui introduit le partage collaboratif entre utilisateurs. En ce qui me concerne, je l'ai adopté depuis plusieurs années et j'en suis très satisfait !! Il remplace sans aucun problème les propositions des géants du secteur à savoir Microsoft OneDrive, Google Drive et non des moindre Dropbox.

Conditions d'installation "Machine Virtuelle"

L’installation est réalisée selon les critères suivants:

La machine virtuelle s'appuie entièrement sur son Hôte en l’occurrence Proxmox, elle permet d'affiner les réglages. Elle peut aussi utiliser le matériel directement par le "passtrough". Elle est plus gourmande en ressource qu'un conteneur.

  • Proxmox PVE 8.3
  • Machine Virtuelle
  • Utilisateur non root avec privilège
  • Debian 12
  • Docker
  • Docker compose

Comme à mon habitude je créé toujours mon répertoire d'application dans "opt" afin d'avoir la même organisation

# sudo mkdir -p /opt/seafile

Création du fichier docker-compose.yml

# sudo nano /opt/seafile/docker-compose.yml

services:
  db:
    image: mariadb:10.11
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=db_de # Votre mot de passe root base "Mariadb"¹
      - MYSQL_LOG_CONSOLE=true
      - MARIADB_AUTO_UPGRADE=1
    volumes:
      - /opt/seafile/seafile-mysql/db:/var/lib/mysql  # chemin du volume d'installation²
    networks:
      - seafile-net

  memcached:
    image: memcached:1.6.18
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net

  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "8084:80"
#     - "443:443"  # inutile de l'activer
    volumes:
      - /opt/seafile/seafile-data:/shared   ##chemin du volume d'installation³
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=db_dev  # idem Votre mot de passe base de données 
      inscrit plus haut⁴
      - TIME_ZONE=Etc/UTC  # Pour nous Europe/Paris⁵
      - SEAFILE_ADMIN_EMAIL=me@example.com # votre identifiant admin pour seafile⁶
      - SEAFILE_ADMIN_PASSWORD=asecret     # votre mot de passe admin⁷
      - SEAFILE_SERVER_LETSENCRYPT=false   # inutile
      - SEAFILE_SERVER_HOSTNAME=docs.seafile.com # precisez votre ip⁸
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net

networks:
  seafile-net:
  • Vous devez modifier les lignes avec l'indice ¹²³⁴⁵⁶⁷⁸ selon votre propre choix
  • Vous pouvez utiliser un autre port de mappage que le 8084.
  • Inutile d'activer le 443 et "letsencrypt", l'accès sécurisé sera géré par un proxy reverse.
  • Si vous souhaitez que le conteneur redémarre automatiquement, vous devez specifiez en dessous de "container_name" la commande suivante:"restart: always".

Normalement si tout se passe bien, vous devriez pouvoir afficher la page de connexion:
http://ip:8084

connecttoseafile.png

Vous pouvez rattachez votre instance à un nom de domaine. J'ai décris la méthode en utilisant traefik le reverse proxy!

Installez le Reverse Proxy Traefik : Partie 1
Traefik est une application open source de routage permettant de faire du reverse proxy a la manière de “Nginx reverse proxy” et bien plus encore
Installez le Reverse Proxy Traefik :Partie 2
Traefik est un super outil, une fois paramétré, c’est du bonheur ! Nous avons configuré une partie infime que ce qu’il peut réalisé, le reverse…
💡
Seafile peut être synchronisé sur Windows, Mac, Linux Android et Ios.

Vous devez installer le client correspondant à votre système, voici le lien du site Seafile pour les obtenir!

Download - Seafile

Encore une chose, vous devez modifier certains parametres de Seafile afin de pouvoir visonner et télécharger les contenus sur vos differents clients:
Pour cela, il faut vous rendre dans 'administration système"(menu en haut à droite) puis "paramètres"
seafile.png
Sur votre instance Vous devez adapter les deux premieres lignes suivantes à votre Ip si vous operez uniquement en local ou le nom de domaine si vous voulez y accéder de l'exterieur:
"SERVICE_URL"
"FILE_SERVER_ROOT"

C'est terminé pour moi, pour le reste, je vous laisse découvrir l'utilisation de Seafile, sa prise en main est relativement facile!!