Closed azmeuk closed 4 months ago
En l'état, la PR ne passe pas les tests :
Errors in http://pod.localhost:8000/:
• Error: net::ERR_CONNECTION_REFUSED at http://pod.localhost:8000/
C'est corrigé.
ok pour moi. Merci !
Je ne voulais pas proposer de trop nombreuses modifications d'un coup, mais c'est possible. J'essaie de faire ça aujourd'hui ou demain.
C'est bon. Il faudra penser à mettre à jour son fichier pod/custom/settings_local.py
avec les nouvelles valeurs.
Merci, tout est mergé
1125 proposait d'uniformiser les ports utilisés à l'intérieur et hors des conteneurs dockers, cette PR propose la même chose pour le nom de domaine.
motivations
La raison pour laquelle je propose ce changement est encore liée à #1058. L'implémentation d'Activitypub délègue certaines tâches à celery, et ces tâches ont besoin parfois de construire des URL absolues. Étant dans un contexte celery, on ne peut accéder à un objet request pour en récupérer le domaine, alors on doit se fier aux objets Site de Django.
Or, pour le moment
Site
est initialisé pourlocalhost
:https://github.com/EsupPortail/Esup-Pod/blob/cb5f0d5a09949e00a8730973265d61a2c07e15d7/pod/main/fixtures/initial_data.json#L2-L9
En conséquence, dans l'environnement docker on construit des URL absolues sont la forme
http://localhost:8000/...
que l'on transfère à d'autres instances sur le réseau dans le cadre d'activitypub. Hors évidemment, lorsque les autres conteneurs tentent de joindrelocalhost:8000
ils essaient de se joindre eux même plutôt que l'instance Pod.En plus de ça, Peertube rejette pour la fédération les noms de domaines sans TLD, comme
localhost
. Pour faire des tests de fédération avec Peertube dans un environnement docker, on a donc besoin d'utiliser un autre domaine.proposition
Je vous propose d'utiliser
pod.localhost
comme adresse de développement, en remplacement de l'adressepod-back
qui était utilisée dans l'environnement docker, etlocalhost
hors de docker.compatibilité
Le serveur de développement serait donc disponible à l'adresse http://pod.localhost:8000. Les sous-domaines de localhost sont supportés par la majorité des distributions linux sans configuration particulière (voir les explications) et j'ai pu tester sur au moins Ubuntu, Debian et Archlinux.
Pour les utilisateurs de MacOS cependant, il sera nécessaire d'ajouter la ligne suivante dans
/etc/hosts
pour pouvoir accéder à l'adresse pod.localhostdevelop
branch.[WIP]
or[DONE]
.