내가 사용한 정확한 과정을 알려줄 수 있습니다. 내가 수행하는 과정에서 무언가 잘못되었을 수도 있습니다. 어딘가에서 실수를 하고 있다면 완전히 인정할 의향이 있습니다!
- 도메인 보유. discourse.domain.dev입니다 (도메인은 당연히 비공개 처리됨)
- 이메일 계정 설정. Mailgun 계정이 있으므로 SMTP를 위해 완전히 새로운 사용자를 설정했습니다. 이메일은 discourse@discourse.domain.dev입니다.
- 서버 보유. 최신 Ubuntu (Jammy Jellyfish)입니다.
apt install docker.io- 없음- Git은 이미 설치되어 있었습니다.
- 사용자는 root였습니다.
git clone https://github.com/discourse/discourse_docker.git /var/discourse를 사용하여 클론했습니다.- cd /var/discourse로 이동했습니다.
- chmod 700 containers를 실행했습니다.
- 여전히 root 사용자 상태였습니다.
- ./discourse-setup을 실행했습니다.
- 요청된 정보를 입력했습니다: discourse.domain.dev
- Discourse 관리자 이메일: my@personal.email
- SMTP: smtp.eu.mailgun.org
- SMTP 포트: 587
- 사용자 이름: noreply@discourse.domain.dev
- 비밀번호: 비공개
- 알림 이메일: noreply@discourse.domain.dev
- Let’s Encrypt 이메일: my@personal.email
- Maxmind ID: 입력했습니다.
- MaxMind 라이선스: 입력했습니다.
- 설정을 위한 입력 데이터를 확인했습니다.
- Enter 키를 눌렀습니다.
- 기다렸습니다.
- 더 기다렸습니다.
- 차 한 잔을 만들었습니다.
- 부트스트랩 프로세스의 마지막 줄:
+ /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 ./discourse-doctor를 실행했습니다. redis에 연결할 수 없어서 실패했습니다../laucher rebuild app를 실행했고 설정에서 아무것도 변경하지 않았습니다.- 빌드가 완료되었습니다. 모든 것이 정상입니다. 유일한 차이는 마지막에 비공개 처리된 긴 문자열이었습니다.
./discourse-doctor를 실행했습니다. 테스트 이메일을 받았습니다.- 사이트가 실행 중이므로 관리자를 위한 사용자 계정을 생성하러 갔습니다.
- Register를 클릭했습니다.
- 알림 이메일을 보내고 있다고 표시되었습니다.
- 이메일을 받지 못했습니다.
./discourse-docter를 통해 확인했고 이것을 보았습니다:
Discourse version at discourse.domain.dev: NOT FOUND Discourse version at localhost: NOT FOUND./launcher enter app를 실행했습니다.rake admin:create를 실행했습니다.- 이메일 입력: my@personal.email
- 사용자가 이미 존재하므로 비밀번호를 재설정했습니다.
- “Your account now has Admin priviledges!”(이제 계정에 관리자 권한이 있습니다!)라는 메시지가 표시되었습니다.
- 도메인에서 사이트에 로그인했습니다.
- discourse.domain.dev/logs로 이동 - "Sidekiq heartbeat test failed, restarting`(Sidekiq 하트비트 테스트 실패, 재시작 중)를 확인했습니다.
- discourse.domain.dev/sidekiq로 이동: 다음을 확인했습니다:
- Enqueued(대기 중)를 보기로 이동
- "critical"을 클릭하고 내용을 확장하면 다시 “to_address”=>nil을 볼 수 있습니다.
잠시 멈추고 도움을 요청합니다.
오늘 새 기계에서 완전히 다시 설정한 것입니다. 이전에 사용했던 것과 정확히 동일한 단계입니다. 만약 제가 실수를 했다면 알려주세요! ![]()
시스템 설정:
- 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


