%{base_url}은 어디서 오는 건가요?

안녕하세요,

Bitnami 이미지를 사용하여 Discourse 컨테이너를 실행하고 있습니다. 그런데 모든 템플릿에서 %{base_url} 변수가 example.com으로 설정되어 있고, 이 값을 변경하는 방법을 찾지 못하고 있습니다.

Bitnami에 지원 티켓을 만들었지만, 인터넷에서 base_url 변수에 대한 정보를 어디서도 찾을 수 없습니다.

이 문제를 해결하는 데 도움을 주실 수 있을까요? 이 변수에 대해 매우 혼란스럽습니다.

여기서는 Bitnami 이미지를 사용한 설치를 지원하지 않습니다. 지원을 받으려면 표준 설치 가이드에 따라 Discourse를 설치하는 것을 권장합니다.

알고 있지만, 그것은 기본 설정의 내용이지 제 질문과는 다릅니다: %{base_url}은 어디서 온 것이며, 어디에 기반을 두고 있는 것인가요? Discourse 문서나 포럼에서도 그 내용을 찾을 수가 없습니다.

이메일 템플릿이 올바르게 파싱되도록 %{base_url}을 example.com에서 내 도메인 이름으로 변경하는 방법은 무엇인가요?

이것이 올바른 도메인으로 채워지지 않는다면, 설정에 문제가 생긴 것으로 보입니다.

앞서 언급했듯이, 아직까지 문제가 무엇인지 찾지 못했다면 표준 설치 절차를 따르고 백업을 복원하는 것이 더 쉬울 수 있습니다.

왜 변수로 설정하지 않고 채워 넣는 방식인가요?

Docker Compose YAML 파일을 가져오기 전에 편집해야 하는 것 같습니다: containers/bitnami/discourse/docker-compose.yml at main · bitnami/containers · GitHub (31행과 51행)

알아요. 하지만 첫 실행 후에 변경해도 문제가 해결되지 않으니, 이 호스트(이름)를 정적으로 설정하는지 아니면 아닌지 알고 싶어서 첫 실행부터 그렇게 해야 하는지 궁금합니다.

Bitnami 컨테이너도 공식 컨테이너와 마찬가지로 업데이트 시 Discourse를 완전히 새로 컴파일합니까?

해당 변수는 여기에서 정의되는 것 같습니다:

current_hostname 변수는 여기에서 설정됩니다:

force_hostname 변수는 사이트 설정 템플릿의 여기에서 선언됩니다:

이 변수가 숨겨져 있으므로 관리자 설정에서 변경할 수 없습니다. 다른 사이트 설정들과 마찬가지로 데이터베이스에 저장된다고 가정합니다. 인스턴스의 데이터베이스 덤프를 검색해 보았지만 force_hostname은 설정되어 있거나 선언되어 있지도 않습니다. 공식 Discourse 컨테이너 YAML에는 DISCOURSE_HOSTNAME이 할당되어 있지만, 이는 사이트 설정이 아닌 전역 설정일 것 같으므로, 이는 다른 방식으로 강제 적용되는 것으로 보입니다.

current_hostname은 현재 연결에서 가져오는, 즉 동적인 값인 것 같습니다. 그러나 정확히 어디서 정의되는지 보이지는 않는데, 아마도 외부 모듈/젬일 것입니다:

Bitnami 컨테이너가 DISCOURSE_HOST 설정을 어떻게 처리하는지 확신할 수 없으므로, 공식 컨테이너의 DISCOURSE_HOSTNAME이 어떻게 저장되고 강제 적용되는지에 대해 더 알아낼 때까지, 데이터베이스에서 force_hostname을 검색해 보는 것이 좋습니다.

지금까지의 지원에 감사드립니다!你们的发现과 비교해 보았을 때, 저도 제 설치를 단일 멀티사이트로 구성하는 것에 대해 생각하고 있었습니다. 이렇게 하면 작동할 수도 있지만, Bitnami가 Discourse 자체에는 아무것도 변경하지 않는다는 느낌이 들기 때문에, 왜 이런 문제가 발생하는지 파악하기 위해 이것저것 시도해 보는 과정인 것 같습니다.

내 덤프 파일을 확인해 봐야겠습니다.

데이터베이스 덤프에서 이 항목을 찾을 수 없습니다.

음, 현재 Discourse 컨테이너의 두 가지 변형이 내부적으로 컨테이너 YAML을 기반으로 호스트명을 어떻게 적용하는지 이해하지 못하고 있습니다.

Bitnami 컨테이너 구성에는 다른 웹 서버가 포함되지 않고 Discourse 웹 포트가 직접 노출되나요? 공식 컨테이너에는 Discourse 앞에 Nginx가 하나 더 있는데, 이미 컨테이너 외부에 Apache 웹 서버가 하나 더 있어서 가능하면 이 Nginx를 제거하고 싶었습니다.