Installer un serveur Subversion sur Synology DSM 7

Avec la sortie de DSM en version 7, le paquet SVN Server permettant d’installer un serveur subversion sur un NAS Synology n’est plus supporté.

Pour ceux utilisant ce paquet sous DSM en version 6, il existe plusieurs solutions permettant d’outrepasser ce problème (passage à git, utiliser un serveur subversion externe, etc …) et donc d’envisager la mise à jour de DSMv6 vers DSMv7.

Dans cet article nous allons étudier une solution consistant à installer un conteneur docker pour faire tourner un serveur subversion sur le NAS Synology (à condition bien sûr, que votre NAS supporte l’installation du paquet Docker).
Nous verrons ensuite comment transférer les repositories subversion gérés via le paquet officiel SVN Server vers notre serveur nouvellement installé.

Installation d’un serveur SVN via Docker sur Synology DSM

Tout d’abord, si cela n’est pas encore fait, nous allons installer le paquet Docker depuis le Centre des Paquets de DSM.

Nous allons ensuite créer un répertoire svn sous le répertoire docker. Puis nous ferons trois répertoires qui nous servirons à rendre persistant les données du conteneur.

 

Nous allons ensuite lancer l’application Docker et y télécharger l’image clamy54/svn-svnadmin:latest.

Il s’agit d’une image basée sur ubuntu 20.04 LTS comportant les outils subversions ainsi qu’une interface web permettant d’administrer l’organisation de nos repositories subversion.

Nous allons ensuite créer le conteneur associé :

Puis, dans les paramètres avancés, nous allons configurer le redémarrage automatique du conteneur :

Nous allons ensuite associer les répertoires crées précédemment aux volumes exportés par le conteneur :

Puis rediriger des ports tcp du synology vers les ports 80/tcp et 443/tcp du conteneur :

Nous pouvons alors valider la création du conteneur et le démarrer.

Transfert des repositories svn

Le transfert des repositories est plutôt simple puisqu’il suffit d’arrêter le conteneur, puis de copier le contenu du répertoire /docker vers le répertoire /docker/svn/svn/ et de redémarrer le conteneur.

Il suffira ensuite de gérer les utilisateurs et droits d’accès directement depuis l’interface web iF-SVNAdmin fournie par le conteneur.

Accès au serveur Subversion et à l’interface iF.SVNAdmin

L’interface web est disponible en http ou https via les ports assignés précédemment.

Le login par défaut est admin et le mot de passe admin. Il est évident qu’il faut changer ce mot de passe par défaut au plus tôt.

Depuis cet interface, il nous est possible de créer des utilisateurs, des repositories et d’assigner des autorisations sur ces repositories.

L’accès  depuis un client svn se fera alors, par exemple, de la manière suivante :

svn checkout --username myuser https://synology_ip:8443/svn/myrepository ./localfolder

Pour plus d’informations sur les personnalisations possibles, rendez-vous sur la page officielle du conteneur.