Ta treść została automatycznie przetłumaczona z ukraińskiego.
Miałem problem z podłączeniem usługi Elasticsearch do aplikacji Rails (Coolify w chmurze, serwer na Hetzner).
Długo nie mogłem zrozumieć, jaki dokładnie format powinien mieć zmienna środowiskowa ELASTICSEARCH_URL w Rails. Próbowałem różnych opcji - z hasłem, bez hasła, przez lokalny URL, przez zewnętrzną domenę - ale ciągle otrzymywałem błąd połączenia TCP.
W końcu zrozumiałem
Poprawny format ELASTICSEARCH_URL (dodawany w kontenerze Rails) powinien być taki*:
http://login:password@es-container-name:9200
*SSL to już osobna rozmowa
Kluczowy moment - używać nazwy kontenera, a nie zewnętrznego URL, który jest podawany w Coolify Web UI.
Nazwę kontenera można łatwo znaleźć w interfejsie Coolify na zakładce General.
To znaczy, jeśli masz coś takiego:
http://<container-name>.server-ip.sslip.io:9200
to do podłączenia wewnątrz sieci Docker należy wziąć właśnie część <container-name> i użyć jej w ELASTICSEARCH_URL (czy co tam masz używane).
Po tym Rails pomyślnie połączył się z Elasticsearch bez żadnych błędów TCP.
Może to zaoszczędzi komuś czas, bo dokumentacja w Coolify jest trochę abstrakcyjna.
Ten post nie ma jeszcze żadnych dodatków od autora.