Dans une ère où le stockage et le partage de fichiers en ligne sont devenus indispensables, Seafile se présente comme une solution robuste et sécurisée pour le stockage cloud auto-hébergé. En combinant Seafile avec Nginx sur Ubuntu 22.04, vous pouvez mettre en place un service de stockage cloud personnel ou d’entreprise, offrant à la fois flexibilité et contrôle total sur vos données. Ce guide détaillé vous montrera comment configurer Seafile avec Nginx sur Ubuntu 22.04, rendant le processus accessible même pour les débutants.

Prérequis

Avant de commencer, assurez-vous que votre système Ubuntu 22.04 est à jour :

sudo apt update && sudo apt upgrade -y

Vous aurez également besoin de Docker et Docker Compose installés sur votre système pour exécuter Seafile.

Étape 1: Installation de Docker et Docker Compose

  1. Installez Docker :
sudo apt install docker.io -y
  1. Installez Docker Compose :
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Étape 2: Déploiement de Seafile avec Docker

  1. Créez un répertoire pour Seafile :
mkdir ~/seafile
cd ~/seafile
  1. Créez un fichier docker-compose.yml dans ce répertoire :
nano docker-compose.yml
  1. Ajoutez le contenu suivant au fichier docker-compose.yml, en remplaçant seafile.example.com par votre nom de domaine :
version: '2.0'
services:
  db:
    image: mariadb:10.5
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=db_root_password
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - ./mysql-data:/var/lib/mysql
    networks:
      - seafile-net

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

  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./seafile-data:/shared
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=db_root_password
      - SEAFILE_ADMIN_EMAIL=admin@example.com
      - SEAFILE_ADMIN_PASSWORD=asecret
      - SEAFILE_SERVER_LETSENCRYPT=false
      - SEAFILE_SERVER_HOSTNAME=seafile.example.com
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net

networks:
  seafile-net:
  1. Lancez Seafile avec Docker Compose :
docker-compose up -d

Étape 3: Configuration de Nginx

  1. Installez Nginx :
sudo apt install nginx -y
  1. Configurez Nginx pour Seafile. Créez un fichier de configuration pour votre site Seafile :
sudo nano /etc/nginx/sites-available/seafile
  1. Ajoutez la configuration suivante, en adaptant les chemins et les noms de domaine selon votre configuration :
server {
    listen 80;
    server_name seafile.example.com;

    location / {
        proxy_pass         http://localhost:80;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}
  1. Activez votre configuration en créant un lien symbolique et redémarrez Nginx :
sudo ln -s /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Accès à Seafile

Après la configuration, vous pouvez accéder à Seafile via votre navigateur en naviguant vers http://seafile.example.com (remplacez par votre nom de domaine).

Pour ceux qui recherchent une solution d’hébergement fiable et performante pour déployer Seafile, Shape.host offre des services Cloud VPS adaptés à vos besoins. Les VPS Cloud de Shape.host sont équipés de disques SSD, garantissant une vitesse et une performance optimales pour votre solution de stockage cloud Seafile. Avec une installation facile, une gestion simplifiée et un support technique réactif, Shape.host assure que votre instance Seafile est opérationnelle en toute sécurité, vous permettant de gérer et partager vos fichiers efficacement.