Archives de catégorie : Nas

Synology – mise à jour de docker-compose

Par défaut les NAS Synology DSM 7 sont livrés avec docker et docker-compose.

Cependant la version de docker-compose est assez ancienne en version 1.xx alors que nous sommes déjà en version 2.13.

Bref, pour faire simple, le mieux est de rajouter dans votre PATH utilisateur, un répertoire et de mettre une version à jour de docker-compose.

Pratique

connectez-vous en ssh sur le nas avec un compte qui peut utiliser docker.

faites un test:

docker-compose -v
docker ps

allez dans votre HOME, => cd

Remarques: faîtes bien le cd , le bash synology DSM7.1 a un problème sur le répertoire par défaut à la connexion.

créez un répertoire bin à la racine de votre HOME dans lequel vous mettrez tous vos binaires.

mkdir bin
nano .bashrc

ajouter:

export PATH="/volume1/homes/monhome/bin:$PATH"

puis appliquer les modifications à la session courante:

source .bashrc

enfin dans le répertoire bin:

cd bin
curl -L https://github.com/docker/compose/releases/download/v2.13.0/docker-compose-`uname -s`-`uname -m` -o docker-compose

changer la version par la dernière présente sur https://github.com/docker/compose/releases/

faites un test:

docker-compose -v

Monter en miroir un volume synology

But

Monter un volume, par exemple le /volume1 du synology, dans un répertoire de partage /volume1/volume1 afin de tout sauvegarder y compris les répertoires cachés ou cryptés.

Procédure

  • créez un répertoire partagé nommé volume1
  • connectez-vous en ssh
  • ajoutez un fichier S99MountBind.sh dans /usr/syno/etc.defaults/rc.d
  • le contenu du fichier:


#!/bin/sh

start()
{
/bin/mount -o bind /volume1 /volume1/volume1
}

stop()
{
/bin/umount /volume1/volume1
}

case "$1" in
start) start ;;
stop) stop ;;
*) ;;
esac

  • chmod 755 S99MountBind.sh
  • S99MountBind.sh start

voilà! Ca devrait même marcher au démarrage du nas…

Installer un miroir Maven sur un Nas Synology

But

Installer un miroir Maven sur un Nas Synology, pour accéder plus rapidement aux différents paquets, travailler en intranet,…etc.

Pré-requis

Java, pour l’installer vous pouvez suivre l’article Installer un miroir Maven sur un Nas Synology

Outils

Comme pour le serveur d’application web Java,  Il nous faut un serveur Maven léger. On peut exclure nexus et assimilé, trop complexe et trop gourmand pour nos besoins et surtout nos ressources.
Notre choix se porte sur maven-proxy de codehaus, simple mais efficace, disponible sur http://maven-proxy.codehaus.org/Downloads

Etapes

Passons dans le chroot

Nas>./initDebChroot.sh

L’installation est simple, on peut par exemple décompresser l’archive dans /opt:

Nas> mkdir /opt/mvnrepo
Nas> cd /opt/mvnrepo
Nas> wget http://dist.codehaus.org/maven-proxy/distributions/maven-proxy-standalone-0.2.zip
Nas> unzip maven-proxy-standalone-0.2.zip

Concernant la configuration, en voici une préconfigurer pour les dépôts de springsource. Ajouter, en priorisant, vos repositories dans la deuxième partie du fichier. N’oubliez pas de rajouter leur token dans la liste de la variable repo.list.

Un script pour simplifier le démarrage runMvnProxy.sh:

java  -jar /opt/mvnrepo/maven-proxy-standalone-0.2-app.jar /opt/mvnrepo/MavenProxy.properties

Exécutez-le et testez votre installation http://Nas:9999/

Utiliser ce miroir

sur vos postes de travail, vous devez modifier le fichier settings.xml de maven comme ceci:

<settings>
.
.
<mirrors>
    <mirror>
      <id>MavenMirror</id>
      <name>Home Maven Mirror</name>
      <url>http://NAS:9999/repository/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

.
.
</settings>

Pour plus de détails sur cette configuration http://maven.apache.org/guides/mini/guide-proxies.html

Lancer le serveur au démarrage du NAS

Après avoir automatisé l’initialisation du chroot debian,
Un script pour automatiser le démarrage de ce miroir maven, nous le nommerons S93MavenProxy.sh :

#!/bin/sh
#

SynoStop=/usr/bin/killall

case $1 in
start)
echo "Launch Maven Proxy ..."
chroot /opt/debian/chrootgnuspe /opt/mvnrepo/runMvnProxy.sh &amp;
;;
stop)
#$SynoStop tracd > /dev/null 2>&amp;1
;;
#restart)
#   $0 stop
#   $0 start
#   ;;
*)
echo "Usages: $0 [start|stop|restart]"
;;
esac

ajouter le script au répertoire rc.d:

NAS> ln -s yourVolume1Rc.dScript/S93MavenProxy.sh /usr/syno/etc.defaults/rc.d/

TODO:

supporter le stop et restart du script de service.