• Docker
  • Image syspass sous docker-compose

Bonjour, j'ai un soucis avec mon docker-compose sur mon VPS.

Le soucis vient de la redirection des ports de l'image syspass. Les ports 80, 8080 et 443 sont déjà utilisés, j'ai alors essayé d'autres numéros de ports mais aucun ne marche. En installant l'image syspass sur un serveur Dply, ça marche très bien. Comment faire ?

version: '2'

services:

  nginx-proxy:
     restart: always
     image: jwilder/nginx-proxy
     ports:
       - "80:80"
       - "443:443"
     volumes:
       - /srv/docker/nginx/certs:/etc/nginx/certs:ro
       - /etc/nginx/vhost.d
       - /usr/share/nginx/htmlqui contient l'installation des images de tous mes services web hébergés
       - /var/run/docker.sock:/tmp/docker.sock:ro

  nginx-proxy-companion:
     image: jrcs/letsencrypt-nginx-proxy-companion
     volumes:
       - /srv/docker/nginx/certs:/etc/nginx/certs:rw
       - /var/run/docker.sock:/var/run/docker.sock
     volumes_from:
       - nginx-proxy

  
  koel:
     container_name: koel
     image: etopian/docker-koel
     depends_on:
       - mariadb
     ports:
       - "9876:80"
     environment:
       - VIRTUAL_HOST=test.toto.fr
       - LETSENCRYPT_HOST=test.toto.fr
       - LETSENCRYPT_EMAIL=test@gmail.com
       - DB_HOST=mariadb
       - DB_DATABASE=forge
       - DB_USERNAME=root
       - DB_PASSWORD=toto
       - ADMIN_EMAIL=test@gmail.com
       - ADMIN_NAME=admin
       - ADMIN_PASSWORD=toto
       - APP_DEBUG=true
       - AP_ENV=production
     volumes:
       - /mnt/music/:/DATA/music/:ro

  mariadb:
     image: mariadb:10.1
     container_name: mariadb
     environment:
       - MYSQL_ROOT_PASSWORD=toto
       - MYSQL_PASSWORD=toto
       - MYSQL_DATABASE=forge
     volumes:
       - /mnt/docker/mysql/db:/var/lib/mysql
  cozy:
     container_name: cozy
     image: cozy/full:latest
     environment:
       - VIRTUAL_HOST=test1.toto.fr
       - LETSENCRYPT_HOST=test1.toto.fr
       - LETSENCRYPT_EMAIL=test@gmail.com
  codiad:
     container_name: codiad
     image: wernight/codiad
     environment:
       - VIRTUAL_HOST=test2.toto.fr
       - LETSENCRYPT_HOST=test2.toto.fr
       - LETSENCRYPT_EMAIL=test@gmail.fr


  app:
    container_name: syspass-app
    image: nuxsmin/docker-syspass:latest
    restart: always
    ports:
      - "800:80"
      - "444:443"
    links:
      - db
    environment:
      - VIRTUAL_HOST=test4.toto.fr
      - LETSENCRYPT_HOST=test4.toto.fr
      - LETSENCRYPT_EMAIL=test@gmail.fr
    volumes:
      - /var/www/html/sysPass/config
      - /var/www/html/sysPass/backup
  db:
    container_name: syspass-db
    restart: always
    image: nuxsmin/docker-syspass:mysql
    ports:
      - "3306"
    environment:
      - DB_REMOTE_HOST=test4.toto.fr
      - DB_REMOTE_ROOT_PASS=syspass
      - MYSQL_PASSWORD=syspass
      - MYSQL_DATABASE=syspass
    volumes:
      - /var/lib/mysql

  rainloop:
     image: jprjr/rainloop
     environment:
       VIRTUAL_HOST: test5.toto.fr
       NGINX: 1
       LETSENCRYPT_HOST: test5.toto.fr
       LETSENCRYPT_EMAIL: test@gmail.fr
     ports:
       - "8080:80"
     volumes:
       - "/data/rainloop:/var/lib/rainloop/data"

[edit] Maintenant le problème vient du network des deux containers syspass...

Salut,

Arrives-tu a accéder à ton service avec les ports 800 et 444 (IPSERVEUR😛ORT) ?

Le but étant de savoir si le problème vient du reverse proxy, ou du conteneur directement.

5 jours plus tard

Alors règle de base avec le reverse proxy, c'est de ne pas oublier le "VIRTUAL_PORT" qui vient avec le "VIRTUAL_HOST". Je sais qu'il est facultatif, mais en surdéfinissant tu t'éviteras bien des problèmes.
Je vais voir si je peux te poster ça plus tard, car c'est le genre de soucis que j'avais mis du temps à résoudre (car la documentation n'étant pas claire sur le sujet...)

VIRTUAL_PORT est utile lorsque l'image expose 2 ports ou plus 😉

Dans ton nuxsmin/docker-syspass, tu as 80/443 d'expose, il te le faut donc obligatoirement

J'accède à l'interface de configuration syspass !! Merci les gars 😀

Par contre, j'ai une erreur :

SQLSTATE[HY000] [1130] Host 'syspass-app.dockercompose_default' is not allowed to connect to this MySQL server

2 mois plus tard

Je n'ai pas tout à fait résolu mon problème d'image syspass. Le soucis vient du fait que j'utilise les images docker syspass (syspass-app et syspass-db) avec le network par défaut (dockercompose_default) de docker-compose et pas le network préconisé dans la doc syspass (syspass_default).

J'ai donc essayé, sans succès, de changer la variable d'environnement dans le docker-compose :

- DB_REMOTE_HOST=syspass-app.dockercompose_default

J'arrive bien à pinguer dans les deux sens les hostnames des dockers "syspass-db" et "syspass-app" et la commande

docker exec -it syspass-db mysql -e "select user,host from mysql.user;"

me renvoie :

+-----------------------------+------------------+
| host                        | user             |
+-----------------------------+------------------+
| %                           | root             |
| 127.0.0.1                   | root             |
| 1e7d6361b941                | root             |
| ::1                         | root             |
| localhost                   | debian-sys-maint |
| localhost                   | root             |
| syspass-app.syspass_default | root             |
+-----------------------------+------------------+
7 rows in set (0.00 sec)

J'ai essayé le fichier docker-compose https://doc.syspass.org/en/installing/docker.html sur une debian vierge et tout marche nickel.

Que puis-je faire ? Merci de votre aide. ☺

Répondre…