Sidekiq에서 nil 이메일 주소로 활성화 이메일이 전송된다고 표시됨

내가 사용한 정확한 과정을 알려줄 수 있습니다. 내가 수행하는 과정에서 무언가 잘못되었을 수도 있습니다. 어딘가에서 실수를 하고 있다면 완전히 인정할 의향이 있습니다!

  1. 도메인 보유. discourse.domain.dev입니다 (도메인은 당연히 비공개 처리됨)
  2. 이메일 계정 설정. Mailgun 계정이 있으므로 SMTP를 위해 완전히 새로운 사용자를 설정했습니다. 이메일은 discourse@discourse.domain.dev입니다.
  3. 서버 보유. 최신 Ubuntu (Jammy Jellyfish)입니다.
  4. apt install docker.io - 없음
  5. Git은 이미 설치되어 있었습니다.
  6. 사용자는 root였습니다.
  7. git clone https://github.com/discourse/discourse_docker.git /var/discourse를 사용하여 클론했습니다.
  8. cd /var/discourse로 이동했습니다.
  9. chmod 700 containers를 실행했습니다.
  10. 여전히 root 사용자 상태였습니다.
  11. ./discourse-setup을 실행했습니다.
  12. 요청된 정보를 입력했습니다: discourse.domain.dev
  13. Discourse 관리자 이메일: my@personal.email
  14. SMTP: smtp.eu.mailgun.org
  15. SMTP 포트: 587
  16. 사용자 이름: noreply@discourse.domain.dev
  17. 비밀번호: 비공개
  18. 알림 이메일: noreply@discourse.domain.dev
  19. Let’s Encrypt 이메일: my@personal.email
  20. Maxmind ID: 입력했습니다.
  21. MaxMind 라이선스: 입력했습니다.
  22. 설정을 위한 입력 데이터를 확인했습니다.
  23. Enter 키를 눌렀습니다.
  24. 기다렸습니다.
  25. 더 기다렸습니다.
  26. 차 한 잔을 만들었습니다.
  27. 부트스트랩 프로세스의 마지막 줄:
    + /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=8 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=discourse.domain.dev -e DISCOURSE_DEVELOPER_EMAILS=my@personal.email -e DISCOURSE_SMTP_ADDRESS=smtp.eu.mailgun.org -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=noreply@discourse.domain.dev -e DISCOURSE_SMTP_PASSWORD=b7fc73b0905b5ffb5f70300f1f796000-1b5736a5-0a60075a -e DISCOURSE_SMTP_DOMAIN=discourse.example.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@discourse.domain.dev -e LETSENCRYPT_ACCOUNT_EMAIL=my@personal.email -e DISCOURSE_MAXMIND_ACCOUNT_ID=REDACTED -e DISCOURSE_MAXMIND_LICENSE_KEY=REDACTED -h devsite -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address REDACTGED local_discourse/app /sbin/boot REDACTEDLONGSTRING
  28. ./discourse-doctor를 실행했습니다. redis에 연결할 수 없어서 실패했습니다.
  29. ./laucher rebuild app를 실행했고 설정에서 아무것도 변경하지 않았습니다.
  30. 빌드가 완료되었습니다. 모든 것이 정상입니다. 유일한 차이는 마지막에 비공개 처리된 긴 문자열이었습니다.
  31. ./discourse-doctor를 실행했습니다. 테스트 이메일을 받았습니다.
  32. 사이트가 실행 중이므로 관리자를 위한 사용자 계정을 생성하러 갔습니다.
  33. Register를 클릭했습니다.
  34. 알림 이메일을 보내고 있다고 표시되었습니다.
  35. 이메일을 받지 못했습니다.
  36. ./discourse-docter를 통해 확인했고 이것을 보았습니다:
    Discourse version at discourse.domain.dev: NOT FOUND Discourse version at localhost: NOT FOUND
  37. ./launcher enter app를 실행했습니다.
  38. rake admin:create를 실행했습니다.
  39. 이메일 입력: my@personal.email
  40. 사용자가 이미 존재하므로 비밀번호를 재설정했습니다.
  41. “Your account now has Admin priviledges!”(이제 계정에 관리자 권한이 있습니다!)라는 메시지가 표시되었습니다.
  42. 도메인에서 사이트에 로그인했습니다.
  43. discourse.domain.dev/logs로 이동 - "Sidekiq heartbeat test failed, restarting`(Sidekiq 하트비트 테스트 실패, 재시작 중)를 확인했습니다.
  44. discourse.domain.dev/sidekiq로 이동: 다음을 확인했습니다:
  45. Enqueued(대기 중)를 보기로 이동
  46. "critical"을 클릭하고 내용을 확장하면 다시 “to_address”=>nil을 볼 수 있습니다.

잠시 멈추고 도움을 요청합니다.

오늘 새 기계에서 완전히 다시 설정한 것입니다. 이전에 사용했던 것과 정확히 동일한 단계입니다. 만약 제가 실수를 했다면 알려주세요! :pray:


시스템 설정:

  • CPU: 4코어
  • RAM: 16 GB
  • OS: Ubuntu LTS 64bit 24.04
  • 저장소: NVMe 500G
  • Postgres 버전: 13.16-1
  • Redis: 7.0.7
  • Ruby: 3.3.4