설치 중 오류 발생

여러분 안녕하세요,

이전에 답변이 올라와서 해결되었을 수도 있지만, 여기에서 찾을 수가 없었습니다. 그래서 제 질문을 올려보았습니다. 누군가 현재 상황이 무엇인지 좀 더 자세히 설명해 주시면 감사하겠습니다:

(unknown): did not find expected key while parsing a block mapping at line 40 column 3 -e LANG=en_US.UTF-8
YAML syntax error. Please check your containers/*.yml config files.

감사합니다,

새로 설치한 건가요, 아니면 기존 yml 파일을 사용해 컨테이너를 빌드하고 계신 건가요?

신설 설치이고 여러 번 해봤는데, 이 에러는 처음입니다 :no_entry_sign:

편집된 app.yml 파일을 공유해 주시겠어요?

어떤 부분인가요??? 위에서 아래까지인가요???

네, 파일 전체를 제공해 주시고 민감한 정보는 모두 삭제해 주세요.

 ## 이 파일은 올인원, 독립형 Discourse Docker 컨테이너 템플릿입니다
  2 ##
  3 ## 이 파일을 수정한 후에는 반드시 재빌드해야 합니다
  4 ## /var/discourse/launcher rebuild app
  5 ##
  6 ## 편집할 때 *매우* 주의하세요!
  7 ## YAML 파일은 공백이나 정렬 실수에 매우 민감합니다
  8 ## 필요 시 http://www.yamllint.com/ 을 방문하여 이 파일을 검증하세요
  9
 10 templates:
 11   - "templates/postgres.template.yml"
 12   - "templates/redis.template.yml"
 13   - "templates/web.template.yml"
 14   - "templates/web.ratelimited.template.yml"
 15 ## Lets Encrypt(https)를 추가하려면 아래 두 줄의 주석을 해제하세요
 16   #- "templates/web.ssl.template.yml"
 17   #- "templates/web.letsencrypt.ssl.template.yml"
 18
 19 ## 이 컨테이너가 어떤 TCP/IP 포트를 노출해야 하나요?
 20 ## Apache와 같은 다른 웹서버와 포트를 공유하려면
 21 ## 자세한 내용은 https://meta.discourse.org/t/17247 를 참조하세요
 22 expose:
 23   - "8080:80"   # http
 24   #- "443:443" # https
 25
 26 params:
 27   db_default_text_search_config: "pg_catalog.english"
 28
 29 ## db_shared_buffers를 총 메모리의 최대 25%로 설정하세요.
 30 ## bootstrap이 감지된 RAM 기반으로 자동으로 설정하거나, 직접 오버라이드할 수 있습니다
 31   #db_shared_buffers: "256MB"
 32
 33 ## 정렬 성능을 향상시킬 수 있지만, 연결당 메모리 사용량이 증가합니다
 34   #db_work_mem: "40MB"
 35
 36 ## 이 컨테이너가 어떤 Git 리비전을 사용해야 하나요? (기본값: tests-passed)
 37   #version: tests-passed
 38
 39 env:
 40   LC_ALL: en_US.UTF-8
 41   LANG: en_US.UTF-8
 42   LANGUAGE: en_US.UTF-8
 43   # DISCOURSE_DEFAULT_LOCALE: en
 44
 45 ## 동시 웹 요청은 몇 개까지 지원되나요? 메모리와 CPU 코어 수에 따라 다릅니다.
 46 ## bootstrap이 감지된 CPU 기반으로 자동으로 설정하거나, 직접 오버라이드할 수 있습니다
 47   #UNICORN_WORKERS: 3
 48
 49 ## TODO: 이 Discourse 인스턴스가 응답할 도메인 이름
 50 ## 필수 항목입니다. Discourse는 IP 주소만으로는 작동하지 않습니다.
 51   DISCOURSE_HOSTNAME: 'community.MYWESITE.com'
 52
 53 ## 컨테이너가 위에서 지정된 도메인 이름(-h 옵션)과 동일한
 54 ## 이름으로 시작되도록 하려면 주석을 해제하세요 (기본값 "$hostname-$config")
 55   #DOCKER_USE_HOSTNAME: true
 56
 57 ## TODO: 초기 가입 시 관리자 및 개발자로 지정될 쉼표로 구분된 이메일 목록
 58 ## 예: 'user1@example.com,user2@example.com'
 59   DISCOURSE_DEVELOPER_EMAILS: 'MYEMAIL@gmail.com'
 60  
 61 ## TODO: 새 계정 검증 및 알림 전송에 사용되는 SMTP 메일 서버
 62   # SMTP 주소, 사용자 이름, 비밀번호는 필수입니다
 63   # 경고: SMTP 비밀번호의 '#' 문자는 문제를 일으킬 수 있습니다!
 64   DISCOURSE_SMTP_ADDRESS: XXXXXXXXXXXXX.COM
 65   #DISCOURSE_SMTP_PORT: 587
 66   DISCOURSE_SMTP_USER_NAME: SMTP_Injection
 67   DISCOURSE_SMTP_PASSWORD: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 68   #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (선택 사항, 기본값 true)
 69   #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (일부 제공업체에서 필수)
 70    DISCOURSE_NOTIFICATION_EMAIL: MYEMAIL@gmail.com    # (알림을 보내는 주소)
 71
 72 ## Lets Encrypt 템플릿을 추가했다면, 무료 SSL 인증서를 받으려면 아래 주석을 해제하세요
 73   #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
 74
 75 ## 이 Discourse 인스턴스의 http 또는 https CDN 주소 (가져오도록 설정됨)
 76 ## 자세한 내용은 https://meta.discourse.org/t/14857 를 참조하세요
 77   #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
 78
 79 ## IP 주소 조회를 위한 maxmind 지리 위치 IP 주소 키
 80 ## 자세한 내용은 https://meta.discourse.org/t/-/137387/23 를 참조하세요
 81   #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
 82
 83 ## Docker 컨테이너는 상태가 없으며(stateless), 모든 데이터는 /shared에 저장됩니다
 84 volumes:
 85   - volume:
 86       host: /var/discourse/shared/standalone
 87       guest: /shared
 88   - volume:
 89       host: /var/discourse/shared/standalone/log/var-log
 90       guest: /var/log
 91
 92 ## 플러그인은 여기에 추가합니다
 93 ## 자세한 내용은 https://meta.discourse.org/t/19157 를 참조하세요
 94 hooks:
 95   after_code:
 96     - exec:
 97         cd: $home/plugins
 98         cmd:
 99             - git clone https://github.com/discourse/docker_manager.git
100
101 ## 빌드 후 실행할 사용자 정의 명령
102 run:
103   - exec: echo "Beginning of custom commands"
104   ## 첫 번째 가입 시 'From' 이메일 주소를 설정하려면 주석을 해제하고 변경하세요:
105   ## 첫 번째 가입 이메일을 받은 후, 해당 줄을 다시 주석 처리하세요. 한 번만 실행하면 됩니다.
106   #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
107   - exec: echo "End of custom commands"

여기서 공백을 제거하세요

image

이 방법으로 오류는 수정되었고 앱은 계속 진행되었지만, 다른 오류로 인해 Discourse가 시작되지 않았습니다.

화면을 위로 스크롤해서 어떤 내용이 있는지 확인해 보았는데, 포트 6379가 열려 있지 않다는 내용과 다음 오류만 표시되어 있었습니다:

Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-property-in-object since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
        ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
to the "plugins" section of your Babel config.
Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-private-property-in-object.
The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
        ["@babel/plugin-proposal-private-methods", { "loose": true }]
to the "plugins" section of your Babel config.

이것이 중요한 문제인지는 확실하지 않지만, 일단 Discourse와 다른 페이지를 호스팅하기 위한 다른 컨트롤 패널을 새로 설치해 볼 것입니다. :saluting_face:

여기서 누군가에게 Discourse와 다른 사이트들을 같은 서버에 설치할 때 문제가 없으면 보고하겠다고 약속했는데, 열심히 시도해 보고 있지만 아직까지 원하는 결과를 얻지 못하고 있습니다. :notes:

다른 포트에 게시하려는 것처럼 보입니다. Discourse를 리버스 프록시 뒤에 배치하려는 건가요?

그렇다면 일단 expose 선언을 되돌리고, 80번 포트를 통해 먼저 접근해 보시기 바랍니다.

80/443 포트가 아닌 다른 포트에서 직접 접근을 위해 Discourse를 설치하려는 경우라면, 이는 작동하지 않으며 지원되지 않는다는 점을 유의하시기 바랍니다.

스티븐, 네 맞아요. 그렇게 하려고 했는데, 먼저 discourse를 설치하고 그다음에 다른 것들을 해보기로 했어요!

지금 이 글을 쓰는 동안에도 새 설치가 거의 끝났습니다 :cyclone:

카페인 섭취를 줄여야 할 것 같아요 :cactus:

K, 옳은 판단을 내리고 새 인스턴스를 설치해서 하루를 시작했지만, 아무것도 진행이 안 돼요.

  1. forum.mywebsite.com을 확인하면 아무것도 표시되지 않는 빈 페이지만 뜨고, 왼쪽 위 모서리에 discourse 아이콘만 보입니다.

  2. https를 사용하면 실제 홈페이지 대신 Secure Connection Failed 오류가 발생합니다.

DNS, A, TXT, CNAMES 등을 모두 확인했어요. 사실 모두 정상입니다. 실제로 설치 후 관리자 등록 페이지까지 확인했지만, SSH 콘솔을 통해 활성화해야 했고, 그 과정은 잘 진행되었지만 그 단계 이후로는 아무것도 표시되지 않아요!!!

이 막막한 사람을 도와줄 수 있는 분 계신가요? :cry:

Let’s Encrypt를 활성화하여 설치하고 계신가요?

그렇다면 이번 설치와 이전 설치 사이에 해당 호스트네임으로 몇 번이나 설치를 시도해 보셨나요?

제가 아는 한 그런 건 없어요. 하지만 도메인과 서브도메인은 Cloudflare SSL을 사용했고, 그 가젯들은…!

방금 몇 분 전에 일시정지하고 여기저기 사이트를 확인해봤는데, 제가 당신에게 이렇게 말했던 부분이 있었어요 :smiley:

나중에 상황이 어떻게 될지 한번 더 확인해볼게요!

Stephen, 항상처럼 정말 큰 도움이 되네요. 감사합니다 :slight_smile:

참고로, 제발 제발, discourse를 설치할 때마다 이 경고가 뜨고, 앞으로 이 문제를 어떻게 처리해야 하는지 알지 못하면 다시 발생할 것입니다:

Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-property-in-object since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
        ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
to the "plugins" section of your Babel config.
Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-private-property-in-object.
The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
        ["@babel/plugin-proposal-private-methods", { "loose": true }]
to the "plugins" section of your Babel config.

좋은 하루 보내세요 :love_you_gesture:

저도 같은 문제를 겪고 있습니다.

우회할 수 있습니다. 그 의미를 안다면, 필요할 때 어떻게 대응해야 하는지도 아실 겁니다. 그 외의 모든 분들에게는… 아무런 조치 없이 무시해도 되는 경고일 뿐입니다.