Closed Simats13 closed 2 years ago
Hello,
Alors c'est tout simplement parce que le front s'attends a avoir l'API de disponible sur le /api
https://github.com/Eywek/tgvmax-bot/blob/9ad9ed6d6aca0b98b045a75f4c6420c1f9817af4/frontend/config/prod.env.js#L4
Du coup si ton front est dispo sur https://tgvmax.example.com, l'API devrait être dispo sur https://tgvmax.example.com/api.
Libre à toi de modifier la config du frontend et de rebuild l'image docker pour changer l'URL de l'API, ou alors de configurer un reverse proxy (genre nginx) devant.
Perso je lance les containers comme ça:
docker run -d --name tgvmax-frontend -p 8081:80 ghcr.io/eywek/tgvmax-bot-frontend:9ad9ed6d6aca0b98b045a75f4c6420c1f9817af4
docker run -d --restart=on-failure --name tgvmax-backend -p 8080:8080 -v /home/eywek/docker/tgvmax/tgvmax.sqlite:/usr/src/tgvmax.sqlite ghcr.io/eywek/tgvmax-bot-backend:9ad9ed6d6aca0b98b045a75f4c6420c1f9817af4
Et j'ai un nginx configuré comme ceci:
upstream frontend {
server 127.0.0.1:8081;
}
upstream backend {
server 127.0.0.1:8080;
}
server {
server_name mydomain.fr;
location / {
include proxy_params;
proxy_pass http://frontend;
}
location /api {
include proxy_params;
proxy_pass http://backend;
}
}
Super j'ai réussi à le faire fonctionner cependant j'ai une petite question à te poser et j'ai eu une erreur encore. Tout d'abord je vois que tu donnes comme volume un fichier sqlite qui correspond à une bdd mais est-ce nécessaire pour le bon fonctionnement ?
Et ensuite voici mon erreur :
FetchError: invalid json response body at https://www.sncf-connect.com/?currency=EUR&onlyDirectTrains=false reason: Unexpected token < in JSON at position 0
at /usr/src/node_modules/node-fetch/lib/index.js:272:32
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at OuiSNCFBooker.check (/usr/src/src/book/ouisncf.ts:51:34)
Peut-être c'est parce que je ne lui fournis pas de BDD ? Si je dois lui en fournir une il y a des tables en particulier à respecter, un format, etc... ?
Tout d'abord je vois que tu donnes comme volume un fichier sqlite qui correspond à une bdd mais est-ce nécessaire pour le bon fonctionnement ?
J'utilise un volume pour garder la db quand j'update l'image. Je pense que le fichier de sqllite devrait se créer tout seul sans soucis, pas besoin de fournir quoique ce soit.
Pour ton erreur je pense que du coup le booker de sncf ne doit pas fonctionner (depuis la migration de oui.sncf vers sncf-connect), je te conseil donc d'utiliser l'implémentation de Trainline, faut juste se créer un compte business (c'est grauit, ca permet l'accès à leur API).
Salut,
J'ai essayé de faire marcher les deux conteneurs (Backend et Frontend) sur mon Mac Mini M1. Cependant il faut croire que les deux conteneurs n'ont pas l'air de communiquer entre eux. J'ai essayé d'exposer le 8080 pour le conteneur backend mais ça n'a pas l'air de fonctionner.
On dirait qu'il n'arrive pas à récupérer un fichier sur le front ou call l'API sur le back, je ne sais pas.
Voici les logs du conteneur Front :
Voici quelques screens des erreurs et de l'environnement en question :
Je vous remercie d'avance.