@Pravi 님, 안녕하세요!
요청하신 내용을 가져왔습니다.
해당 파일은 컨테이너 안에 있습니다.
해당 파일과 다른 설정 파일은 다음 경로에서 찾을 수 있습니다:
# docker exec -it app bash
# cd /var/www/discourse/config
정말 무엇을 하는지 확신이 없다면 해당 파일들을 절대 수정하지 마시기를 강력히 권고합니다.
하지만 파일들을 읽고 이해하는 것은 매우 좋은 일입니다.
@Pravi 님, 안녕하세요!
요청하신 내용을 가져왔습니다.
해당 파일은 컨테이너 안에 있습니다.
해당 파일과 다른 설정 파일은 다음 경로에서 찾을 수 있습니다:
# docker exec -it app bash
# cd /var/www/discourse/config
정말 무엇을 하는지 확신이 없다면 해당 파일들을 절대 수정하지 마시기를 강력히 권고합니다.
하지만 파일들을 읽고 이해하는 것은 매우 좋은 일입니다.
하지만 컨테이너 안에서 discourse.config 파일을 찾을 수 없습니다. 컨테이너 폴더에는 app.yml 파일만 있습니다.
말씀하신 컨테이너 폴더는 컨테이너가 아닙니다.
컨테이너란 Docker 컨테이너로 실행되도록 빌드되고 시작되는 Docker 구성 요소입니다.
참고로, 이 말을 오해하지 마시기 바랍니다. Docker 컨테이너가 무엇인지 이해하고 계신가요? 이해하지 못하셔도 전혀 괜찮습니다. 많은 사람들이 매일 Discourse를 사용하면서도 아직 Docker 컨테이너의 기본 개념을 배우지 못한 상태입니다. 배우는 데 늦은 때는 없으니까요 ![]()
참고 자료:
P.S. @Pravi 님. 컨테이너에 진입하여 설정 파일이 있는 디렉터리로 이동하는 명령어를 이미 제공해 드렸습니다. 제가 게시한 그 명령어를 따라 해보신 적은 있으신가요?
P.S.2. 문제를 겪고 계신 rake 태스크(migrate_from_s3)는 다음 위치에서 찾을 수 있습니다:
나는 discourse에 대해 잘 모릅니다.
네, 해당 파일들을 찾았습니다.
rake 코드를 통해 문제를 어떻게 해결할 수 있을까요?
@Pravi 님, 안녕하세요.
한 가지 접근 방식은 에러 메시지의 바로 이전 로그 파일 항목을 살펴보고, rake 태스크 파일에서 해당 줄(또는 줄들)을 찾아내는 것입니다. 그리고 정확히 무엇이 문제를 일으키고 있는지 격리해 보세요.
해결책은 보통 쉬운 부분입니다. 어려운 부분은 문제의 원인을 파악하는 것입니다.
좀 더 구체적으로 설명해 주실 수 있나요? rake 명령을 실행하기 전에 웹사이트에서 로그 파일을 찾아봐야 한다는 말씀인가요? 이해가 안 되네요.
안녕하세요, @Pravi
이제 기초 소프트웨어 오류 트러블슈팅 수업을 하는 중이네요… 괜찮습니다.
이미 이 토픽의 #4번 게시물에 로깅 정보가 있습니다:
거기에 정보가 많이 있습니다.
또한, 위에 이 rake 태스크에 대한 전체 Discourse Ruby 코드도 있습니다.
죄송합니다만, 저도 할 일이 많아서, 대략적인 수준에서 어떻게 디버깅하고 대부분의 사람들이 그렇게 하듯 스스로 문제를 해결하는지 보여드리려고 합니다.
도움이 되기를 바랍니다.
귀하의 시간을 너무 많이 차지해서 죄송합니다. 마지막으로, S3로 마이그레이션하는 대신 S3에서 마이그레이션(migrate from)을 시도해 보았는데, 관리 패널에 S3 저장소의 모든 세부 정보를 제공했음에도 불구하고 다음과 같은 오류가 발생합니다. 이 오류에 대해 잘 알고 계시다면 확인해 주시겠습니까?
root@ip-172-31-7-247:/var/discourse# ./launcher enter app
root@ip-172-31-7-247-app:/var/www/discourse# rake uploads:migrate_to_s3
rake aborted!
FileStore::ToS3MigrationError: Please provide the following environment variables:
- DISCOURSE_S3_BUCKET
- DISCOURSE_S3_REGION
and either
- DISCOURSE_S3_ACCESS_KEY_ID
- DISCOURSE_S3_SECRET_ACCESS_KEY
or
- DISCOURSE_S3_USE_IAM_PROFILE
/var/www/discourse/lib/file_store/to_s3_migration.rb:38:in `s3_options_from_env'
/var/www/discourse/lib/tasks/uploads.rake:237:in `create_migration'
/var/www/discourse/lib/tasks/uploads.rake:245:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:224:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:78:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:222:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:218:in `block in <main>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => uploads:migrate_to_s3
(See full trace by running task with --trace)
업데이트:
app.yml에 DISCOURSE_S3_BUCKET, DISCOURSE_S3_REGION, DISCOURSE_S3_ACCESS_KEY_ID, DISCOURSE_S3_SECRET_ACCESS_KEY를 모두 추가했고, 위의 문제는 해결되었습니다. 이제 S3로 마이그레이션은 가능하지만 S3에서 마이그레이션(migrate from)은 불가능합니다. app.yml에 DISCOURSE_USE_S3: false를 추가했음에도 불구하고 S3 업로드를 끄라고 요구합니다.
S3 업로드가 꺼져 있는지 어떻게 확인할 수 있을까요?
[5] pry(main)> SiteSetting.enable_s3_uploads
=> false
[6] pry(main)> GlobalSetting.use_s3
=> false
[7] pry(main)> GlobalSetting.use_s3?
=> true
안녕하세요 @Pravi
이 주제에 대한 훌륭한 토론을 메타 팀 토픽으로 이어가겠습니다:
거기에는 매우 상세한 논의가 많이 이루어지고 있습니다.
모두 좋은 결과 있으시길 바랍니다… 그리고 이 글이 도움이 되기를 바랍니다.