Skip to main content

Mise en place de Seafile Community

Prérequis :
  • Avoir une base de donnée MariaDB déployé en local 
    • Voir déploiement MariaDB
  • Avoir un nom de domaine
    • Dans notre cas le nom de domaine utilisé est : miraceti.net


Il existe plusieurs manière de mettre en place Seafile Docker. Dans notre cas nous allons utiliser une base de données MariaDb déjà déployé avec Docker car nous allons utilisé la version community de Seafile

Configuration nom de domaine

Grâce à notre nom de domaine, nous allons pouvoir créer des sous domaine (en CNAME A).

Sur le site de nom de domaine respectif, dans la section DNS, ajouter l'entrée suivante : 

  • drive.miraceti.net      A       ip.adress.server


Configuration Docker Compose

Pour accéder à notre base de données externe, nous devons importer le network  lié à la base de donnée (dans notre cas le network est "bddnetwork"). 

Fichier docker-compose.yaml

services:
 
  # Service de cache pour Seafile
  memcached:
    image: memcached:1.6
    container_name: seafile-memcached
    restart: unless-stopped
    networks:
      - seafile-net
    entrypoint: memcached -m 256

  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    restart: unless-stopped
    depends_on:
      - memcached
    ports:
      - "8082:80"   # Port HTTP Seafile (interface web)
      - "8086:8080" # Port WebDAV (SeafDAV)
    environment:
      DB_HOST: mariadb	# Nom du conteneur de MariaDB
      DB_ROOT_PASSWD: myRootPasswordMariaDB   # Mot de passe admin de MariaDB
      SEAFILE_SERVER_LETSENCRYPT: "false"
      SEAFILE_SERVER_HOSTNAME: drive.miraceti.net
      SEAFILE_MYSQL_DB_USER: seafile
      SEAFILE_MYSQL_DB_PASSWORD: myPasswordDBSeafile
      SEAFILE_MYSQL_DB_HOST: mariadb
      INIT_SEAFILE_MYSQL_ROOT_PASSWORD: myRootPasswordMariaDB
      TIME_ZONE: Europe/Paris
      MEMCACHED_HOST: seafile-memcached  # Nom du conteneur de cache
    volumes:
      - /my/path/to/seafile/data:/shared  # Emplacement des conf + data
    networks:
      - bddnetwork
      - seafile-net

  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice
    restart: unless-stopped
    depends_on:
      - seafile
    ports:
      - "8081:80"
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=MyJwtTokenSecretGenerateByOnlyOffice
      - JWT_HEADER=Authorization
    volumes:
      - /my/path/to/onlyoffice/data:/var/www/onlyoffice/Data
      - /my/path/to/onlyoffice/logs:/var/log/onlyoffice
    networks:
      - seafile-net

networks:
  seafile-net:  # Réseau interne de seafile
  bddnetwork:
    external: true

 

Fichier .env :

 

Démarrer le docker compose devrait rendre Nextcloud accessible en local, ou sur l'adresse IP de votre serveur sur le réseau local, sur le port 8082.  


Configuration Apache2

Création d'un nouveau host dans /etc/apache2/sites-available avec le nom suivant "cloud.miraceti.net.conf": 


 






Vérification de la nouvelle configuration  : 





Activation de la nouvelle configuration :