OwnCloud

Le service OwnCloud est mis en place pour offrir une solution complète de stockage, de partage et de gestion des fichiers des utilisateurs. Il permet une gestion centralisée et sécurisée des données, tout en étant accessible depuis différents appareils et plateformes.

OwnCLoud est accessible en instance docker via l'interface https://portainer.ecolab.local.

Caractéristiques principales

  • Stockage de fichiers :
    • Permet de stocker les fichiers des utilisateurs de manière centralisée.
    • Prise en charge des répertoires personnels pour chaque utilisateur.
  • Partage et collaboration :
    • Partage facile de fichiers et dossiers avec d'autres utilisateurs ou via des liens publics.
    • Collaboration en ligne avec des outils intégrés pour l'édition et la gestion des fichiers.
  • Accessibilité :
    • Accessible via une interface web, des clients de bureau (Windows, macOS, Linux) ou des applications mobiles (iOS, Android).
  • Sécurité :
    • Authentification utilisateur via LDAP/Active Directory.
    • Connexion sécurisée avec prise en charge HTTPS.

Caractéristiques techniques

  • Serveur hébergé sur : Raspberry Pi 400.
  • Système d'exploitation : Raspberry Pi OS Lite 64 bits.
  • Base de données : MariaDB pour une gestion performante des métadonnées.
  • Protocole réseau : HTTPS avec certificats SSL pour sécuriser les transferts.

Fonctionnalités clés

  • Gestion des utilisateurs :
    • Intégration avec le service OpenLDAP pour l'authentification.
    • Permissions personnalisées sur les fichiers et dossiers.
  • Synchronisation multi-appareils :
    • Les fichiers sont synchronisés automatiquement entre le serveur et les appareils connectés.
  • Partage avancé :
    • Création de liens publics avec options de protection par mot de passe et date d’expiration.
  • Extensions et intégrations :
    • Possibilité d’ajouter des plugins pour étendre les fonctionnalités (calendrier, tâches, etc.).

Avantages

  • Facilité d’utilisation : Interface intuitive accessible à tous les utilisateurs.
  • Flexibilité : Adaptable à différents besoins (stockage personnel, partage collaboratif).
  • Économique : Hébergé sur un Raspberry Pi 400, avec une faible consommation énergétique.
  • Sécurisé : Utilise des protocoles sécurisés et une gestion avancée des utilisateurs.

Cas d’utilisation

  • Stockage personnel :
    • Chaque utilisateur dispose d’un espace dédié pour sauvegarder ses fichiers.
  • Partage de documents :
    • Les enseignants peuvent partager des ressources pédagogiques avec les élèves.
  • Collaboration :
    • Travail collaboratif sur des projets, avec suivi des versions.

Accès au service

En résumé

Le service OwnCloud constitue une solution idéale pour la gestion et le partage des fichiers dans le cadre du projet. Sa flexibilité, sa sécurité et son intégration avec d'autres services (LDAP, HTTPS) en font un outil incontournable pour une infrastructure moderne et collaborative.

Docker-Compose du service :

version: "3"

volumes:
  files:
    driver: local
  mysql:
    driver: local
  redis:
    driver: local

services:
  owncloud:
    image: owncloud/server
    container_name: owncloud
    restart: always
    ports:
      - 9875:8080
    depends_on:
      - mariadb
      - redis
    environment:
      - OWNCLOUD_DOMAIN=domain.local
      - OWNCLOUD_TRUSTED_DOMAINS=192.168.1.10
      - OWNCLOUD_DB_TYPE=mysql
      - OWNCLOUD_DB_NAME=owncloud
      - OWNCLOUD_DB_USERNAME=owncloud
      - OWNCLOUD_DB_PASSWORD=monpassword
      - OWNCLOUD_DB_HOST=mariadb
      - OWNCLOUD_ADMIN_USERNAME=administrateur
      - OWNCLOUD_ADMIN_PASSWORD=monpassword
      - OWNCLOUD_MYSQL_UTF8MB4=true
      - OWNCLOUD_REDIS_ENABLED=true
      - OWNCLOUD_REDIS_HOST=redis
    healthcheck:
      test: ["CMD", "/usr/bin/healthcheck"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - /home/docker/owncloudserver/data:/mnt/data

  mariadb:
    image: mariadb
    container_name: owncloud_mariadb
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=monpassword
      - MYSQL_USER=owncloud
      - MYSQL_PASSWORD=monpassword
      - MYSQL_DATABASE=owncloud
      - MARIADB_AUTO_UPGRADE=1
    command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /home/docker/owncloudserver/mysql:/var/lib/mysql

  redis:
    image: redis:6
    container_name: owncloud_redis
    restart: always
    command: ["--databases", "1"]
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /home/docker/owncloudserver/redis:/data