[pgAdmin] Installation sur un NAS Synology avec Docker

Docker LogopostgresqlDisposant d'un NAS Synology DS713+, j'ai installé pgAdmin via Docker mais ça n'a pas été de tout repos (très peu de littérature là-dessus). L'idée étant d'utiliser cette application pour gérer des bases de données PostGis qui sont des bases PostgreSQL pour QGis.
Il faut savoir que PostgreSQL existe déjà dans DSM mais n'est pas utilisable directement d'où le passage par Docker pour ne pas interférer avec le système. Voir cet article expliquant comment installer PostgreSQL via Docker : https://lofurol.fr/joomla/logiciels-libres/244-postgresql-installation-sur-un-nas-synology-avec-docker

Source : https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html

Tout d'abord, il faut récupérer la dernière image Docker de pgAdmin comme d'habitude via l'onglet "Registre". Il s'agit de l'image "dpage/pgadmin4" (version 4.20 au moment de la rédaction de cet article) :

Docker pgadmin1

Ensuite on lance l'installation et son paramétrage. Tout d'abord en indiquant son nom, puis en cochant "Activer le démarrage automatique" et "Créer un raccourci sur le bureau" :

Docker pgadmin2

 Ensuite on va monter le volume permettant l'enregistrement des différents paramètres du conteneur "/var/lib/pgadmin" sur le nas dans le dossier "/docker_images/pgadmin" (en fait le dossier "/docker_images" est un dossier partagé qui se trouve sur mon 2e disque dur "volume2") :

Docker pgadmin3

Par contre, il est nécessaire que le dossier "/docker_images/pgadmin" soit accessible à l'utilisateur 5050 pour que pgadmin puisse fonctionner. Pour cela, on se connecte en ssh sur le nas et on tape la commande :

sudo chown -R 5050:5050 /volume2/docker_images/pgadmin/

Puis, on s'occupe des ports, il faut absolument que le port du conteneur soit 5050 :

Docker pgadmin4

On termine sur le dernier onglet "Environnement" dans lequel il faut renseigner ces variables :

Après toutes ces manipulations, on peut désormais accéder à pgAdmin via son navigateur web en tapant l'adresse de son serveur syno suivi de ":port_local_docker" que l'on a associé au port interne du conteneur 5050 :

Docker pgadmin6