J’ai installé FabManager en local sur mon environnement Linux 16.04. En suivant le tutotoriel en mode production, j’ai une erreur que je n’arrive pas à corriger lors de l’installation de FabManager par docker.
En exécutant la commande :
docker-compose run --rm fabmanager bundle exec rake db:create # create the database
J’obtiens :
Starting fabmanager_postgres_1 …
Starting fabmanager_postgres_1 … done
Starting fabmanager_elasticsearch_1 … done
could not connect to server: Connection refused
Is the server running on host « 127.0.0.1 » and accepting
TCP/IP connections on port 5432?
… (pleins de lignes de code comme /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.16.1/lib/bundler/cli.rb:27:in `dispatch’)
Couldn’t create database for {« adapter »=>« postgresql », « encoding »=>« unicode », « pool »=>25, « username »=>« postgres », « password »=>« sleede », « host »=>« 127.0.0.1 », « database »=>« fablab_production »}
Alors, quand je vérifie que le port est ouvert par la commande : nmap -sT -p 5432 127.0.0.1
J’ai :
Starting Nmap 7.01 ( https://nmap.org ) at 2018-02-13 16:03 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00033s latency).
PORT STATE SERVICE
5432/tcp open postgresql
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Le port me semble donc ouvert à la connexion.
Toutefois étant curieuse, j’ai continué entièrement le tuto en gardant les configurations du fichier config/env donc POSTGRES=postgres; REDIS=redis; ELASTICSEARCH=elasticsearch, et j’arrive à obtenir la page du FabManager mais du coup sans pouvoir accéder à ma base de données (aucun utilisateur ne peut être rentré par ex).
Je veux donc rectifier en rentrant l’adresse IP de mon serveur local, mais j’ai l’erreur expliqué ci-dessus. Je ne comprends pas son origine et je n’arrive pas à m’en dépatouiller.
C’est assez étrange car POSTGRES=postgres indique l’utilisation du container docker postgre, or les messages de logs semblent indiquer que l’application cherche à se connecter sur une base de données située à 127.0.0.1 …
Peux-tu vérifier que tous tes containers tournent correctement avec docker ps ?
Tu peux également vérifier la syntaxe de ton fichier docker-compose.yml, notamment la ligne 18 (depends_on: - postgres) et la ligne 23 (postgres:).