Mise en place de Seafile Community
Prérequis :
- Avoir une base de donnée
MariaDBdéployé en local- Voir déploiement MariaDB
- Avoir un nom de domaine
- Dans notre cas le nom de domaine utilisé est :
miraceti.net
- Dans notre cas le nom de domaine utilisé est :
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 :