Définir une IP personnalisée ne fonctionne pas ?

Bonjour à tous,
Récemment, j’ai essayé d’installer Discourse sur mon serveur Debian. Tout s’est bien passé, sauf que je ne pouvais pas accéder au site. J’ai essayé de changer le port pour y accéder, mais seul Nginx s’affichait. J’ai donc compris le problème et j’ai essayé de définir une adresse IP personnalisée avec un réseau personnalisé qui pointerait vers mon réseau, mais je n’ai pas pu y accéder, cela continue de me donner des erreurs. Voici l’erreur que j’obtiens :

./launcher start app --docker-args --network discourse_back --ip 192.168.1.4
x86_64 arch detected.
docker: Error response from daemon: network -i not found.
Your Docker installation is not working correctly

See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

J’ai aussi essayé avant avec hello-world et cela a fonctionné :

docker run -it --network discourse_back --ip 192.168.1.4 hello-world

Hello from Docker!

. . .

Quelqu’un a une idée de comment je peux résoudre ce problème ? Merci d’avance !

Essayez ceci :

 ./launcher start app --docker-args '--network discourse_back --ip 192.168.1.4'

J’ai finalement réussi à le lancer, mais maintenant il affiche « Bienvenue sur nginx », alors que j’ai entré mon nom d’hôte « discourse.simonz.local » (qui est également écrit dans app.yml à

DISCOURSE_HOSTNAME: discourse.simonz.local

ai-je fait quelque chose de mal ?

Le discours de production ne fonctionnera pas sans https.

Peut-être qu’un autre nginx affiche ce message ?

Vous devriez faire fonctionner une installation standard avant d’essayer quelque chose de plus sophistiqué.

Si vous avez l’intention que cette instance soit disponible sur Internet, l’utilisation d’un domaine .local dans app.yml va tout casser. Peut-être que vous n’avez l’intention de l’utiliser qu’à la maison ou uniquement pour des tests, je pensais juste que cela valait la peine d’être mentionné.

En supposant que votre réseau Docker fonctionne correctement, que le conteneur soit accessible sur cette adresse IP depuis l’extérieur de la machine hôte, vous auriez également besoin que le DNS pointe discourse.simonz.local vers cette adresse IP.

Il semble que ce qui se passe, c’est que le domaine se résout sur la machine hôte et que vous ne spécifiez pas le port (par exemple, discourse.simonz.local:1234) lorsque vous essayez d’y accéder, de sorte qu’il atteint simplement nginx au lieu du conteneur Docker.

Si vous voulez que Discourse soit disponible sur un port différent, vous n’en avez probablement pas besoin sur une adresse IP différente. Si vous voulez qu’il soit disponible sur le port standard, ainsi que nginx sur le port standard, vous avez besoin que le DNS vous dirige vers la bonne IP ou vous avez besoin que nginx proxy Discourse.

Les domaines .local sont généralement annoncés par le système en fonction de son nom d’hôte configuré. Discourse n’a vraiment pas besoin de faire cela normalement, donc le conteneur pourrait ne rien avoir pour le faire.

Si vous voulez passer par la voie standard du port, IP différente, DNS, c’est vraiment en dehors du champ d’application de Discourse et sa configuration dépendra de divers facteurs dans votre réseau.

Si votre objectif est simplement d’avoir quelque chose de disponible dans nginx ainsi que Discourse sur le même hôte, je recommanderais l’approche proxy liée ci-dessus. Bien qu’il s’agisse techniquement d’une installation non prise en charge, il s’agit d’une configuration plus courante et plus de personnes pourront vous aider.

Cela ne fonctionnera que sur les ports standard.

il ne doit pas être accédé via Internet, il doit être dans un environnement local pour l’essayer, les ports sont corrects, l’adresse IP est correcte

Je ne peux pas déjà avoir quelque chose qui tourne sur le port 80 et je n’ai pas vu d’option pour changer l’IP qu’il devrait utiliser dans l’installation normale.

J’ai déjà annulé cette modification, elle s’exécute à nouveau sur les ports normaux 80 et 443.

Si vous savez comment faire fonctionner votre proxy inverse, vous pouvez l’exécuter sur un autre nom d’hôte. Les ports HTTPS et standard sont requis.

Si vous ne faites que le configurer localement temporairement pour l’essayer, je lancerais simplement une machine virtuelle plutôt que d’essayer de la faire fonctionner aux côtés de nginx.

La machine virtuelle peut recevoir sa propre adresse IP, se donnera probablement automatiquement une adresse .local et vous pourrez simplement y effectuer une installation standard de Discourse.

Une fois terminé, jetez la machine virtuelle et vous n’aurez pas à vous soucier de revenir sur les modifications apportées à nginx ou à quoi que ce soit d’autre.

1 « J'aime »

J’utilise la version docker compose, il semble qu’elle soit livrée avec un nginx et qu’elle soit déjà dans une VM, mais j’essaie de l’exécuter avec la même VM, mais une chose sort comme ..1.3 (mon autre site) et l’autre comme ..1.4 (discourse).

Je viens de réaliser que j’ai déjà effectué l’installation standard, je veux juste changer l’adresse IP à laquelle il répond. Mon IP par défaut est 192.168.1.3 mais je veux qu’il réagisse à 192.168.1.4. Ces deux adresses IP sont déjà configurées sur l’appareil.

Si la VM a deux adresses IP, vous n’avez rien à faire avec l’adresse IP du conteneur Docker, vous avez juste besoin d’un routage de pare-feu pour que …1.3:80/443 aille vers l’hôte et …1.4:80/443 aille vers le conteneur Docker.

Si c’est Linux, AFAIK iptables et ufw sont les plus courants. Vous devriez probablement consulter la documentation ou demander de l’aide dans leurs communautés pour savoir comment configurer ce routage.

À moins que vous n’ayez besoin de tester ce type de configuration pour l’endroit où vous installeriez finalement Discourse, je vous recommanderais toujours d’exécuter une deuxième VM pour cet essai. Toute complexité liée à l’exécution de Discourse aux côtés d’autres logiciels HTTP/HTTPS disparaît lorsqu’il s’exécute dans sa propre VM.

Eh bien, merci quand même, j’ai pu le démarrer mais je n’obtiens aucune réponse, j’ai probablement mal configuré quelque chose, mais merci de votre aide, j’essaierai une autre fois, peut-être que j’obtiendrai un nouveau résultat, merci à tous pour votre aide et passez une excellente journée ^^