Discourse + DigitalOcean + Mailjet 설정

먼저 화를 내시기 전에, 이 포럼에서 Discourse + Mailjet에 관한 거의 모든 게시물을 읽어 봤지만, 제 구체적인 질문에 대한 답은 찾지 못했음을 말씀드립니다.

설정 과정에서 Discourse는 다음 정보를 요구합니다:

  • DISCOURSE_DEVELOPER_EMAILS — 아무 값이나 입력 가능
  • DISCOURSE_SMTP_ADDRESS — in-v3.mailjet.com을 사용 중이지만, 이건 그냥 추측입니다!
  • DISCOURSE_SMTP_PORT — 587
  • DISCOURSE_SMTP_USER_NAME — 제 Mailjet 로그인 이름?
  • DISCOURSE_SMTP_PASSWORD — 제 Mailjet 로그인 비밀번호?

완전히 확실하지 않은 세 가지 항목은 다음과 같습니다:

  • DISCOURSE_SMTP_ADDRESS
  • DISCOURSE_SMTP_USER_NAME
  • DISCOURSE_SMTP_PASSWORD

Mailjet은 UI에서 이 모든 항목을 한곳에 모아 제공하지 않으며, 각각 어디에 무엇을 입력해야 하는지 정말로 불분명합니다.

고객 지원팀에 문의했지만, "티켓에 포함된 정보를 검토한 결과, 다른 팀의 동료들의 도움이 필요할 것으로 판단됩니다"라는 답변만 받았습니다.

… 그리고 나서 48시간 동안 연락이 두절되었습니다.

이미 Mailjet을 위한 SPF와 DKIM 레코드를 설정해 두었으므로 해당 부분은 준비가 되어 있지만, /discourse-doctor가 실패 지점으로 지목하고 있으므로 사용자 이름과 비밀번호가 잘못되었을 것 같습니다.

이 부분에 대해 명확한 통찰을 주실 수 있다면 매우 감사하겠습니다. 감사합니다.

아마도 언급해야 할 것이 하나 더 있습니다: 이 Discourse 설치 환경은 서브도메인으로 운영되고 있습니다.

과거에 여러 번 서브도메인에 Discourse(와 Mailgun)를 설치해 본 경험이 있는데, 그때마다 DNS 레코드(구체적으로는 Mailgun의 SPF 및 DKIM 레코드)에서 서브도메인을 위해 특별한 조치가 필요하지 않았습니다.

하지만 이 포럼의 일부 게시물에서는 서브도메인을 위해 DNS 레코드를 수정해야 한다고 제안하고 있습니다.

저는 기본 도메인(WordPress 사이트)과 서브도메인 모두에서 Mailjet을 거래용 이메일에 사용하고 있습니다. 제 생각에는 레코드를 서브도메인을 나타내도록 수정하면 WordPress 사이트에서 거래용 이메일이 더 이상 작동하지 않을 것 같습니다.

아니면, 둘 다에서 작동시키려면 두 세트의 레코드가 필요할 수도 있습니다.

하지만 Mailgun 사이트를 운영하는 경험을 바탕으로 볼 때, 서브도메인을 위해 DNS에서 특별한 조치가 필요하지 않다고 생각합니다(서브도메인을 생성하는 A 레코드 제외).

분명히 제가 적어도 어느 정도 혼란스러운 상태이므로, 주실 수 있는 모든 조언에 감사하겠습니다.

이 링크인 Mailjet 페이지에서 확인하거나, 필요하면 설정할 수 있습니다.

DISCOURSE_SMTP_USER_NAME = MailJet의 API Key
DISCOURSE_SMTP_PASSWORD = MailJet의 API Key Secret
DISCOURSE_SMTP_ADDRESS는 예시에서 올바르게 지정되어 있으며, 같은 화면에서도 찾을 수 있습니다.

아마도 MailJet에서 서브도메인을 설정해야 할 것 같습니다. 오래전 일이어서 정확한 기억은 없습니다.

와, 사용자 이름이 API 키였군요? 저는 절대 그렇게 생각하지 못했을 것 같아요. 한번 시도해 보고 작동하는지 확인해 볼게요.

그런데 발신 주소를 다른 이메일 주소로 변경하는 방법에 대해 혹시 아는 게 있나요? 현재 기본 WordPress 발신자는 실제 사이트와 다른 도메인을 사용하고 있는데, 이걸 변경하고 싶습니다. (처음에 어떻게 이 설정을 변경하게 되었는지, 또는 현재 값이 어디에서 가져와지는지 모르겠어요. WordPress 관리자 이메일 주소와 일치하지 않으니까요.)

DISCOURSE_NOTIFICATION_EMAIL 변수를 사용하며, discourse-setup 실행 시 "알림 이메일 주소?"를 묻기 때문에 이 방법으로 쉽게 변경할 수 있습니다.

감사합니다!

지금까지 이 방법은 나에게 효과가 없습니다. 콘솔에서 Discourse가 테스트 이메일을 성공적으로 보내지 못하고, Discourse 설치 과정도 완료되지 않습니다(이유를 모르겠어요).

모든 것을 지우고 다시 시도해 볼 예정입니다.

네, 설치가 실패할 때 받는 메시지는 다음과 같습니다:

이 문제를 해결할 수 있는 아이디어가 있을까요? 이 오류는 설치 파일 내부에서 발생하고(내가 입력한 내용과는 무관하므로) 무엇이 잘못된 것인지 명확하지 않습니다.

전체 로그를 공유해 주시겠어요? 해당 줄 전에 몇 가지 오류가 표시되어야 합니다.

지금 discourse doctor를 실행 중이며, 완료되면 로그를 제공하겠습니다. 두 가지 질문이 있습니다:

  1. Discourse doctor가 다음 줄에서 멈춘 것 같습니다:
Node.js heap_size_limit (488.25) is less than 1024MB. Setting --max-old-space-size=1024.
Node.js heap_size_limit (488.25) is less than 2048MB. Disabling Webpack parallelization with JOBS=0 to conserve memory.
110:M 06 Dec 2023 20:31:39.033 * 100 changes in 300 seconds. Saving...
110:M 06 Dec 2023 20:31:39.037 * Background saving started by pid 3264
3264:C 06 Dec 2023 20:31:39.055 * DB saved on disk
3264:C 06 Dec 2023 20:31:39.056 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
110:M 06 Dec 2023 20:31:39.138 * Background saving terminated with success
  1. 로그 파일을 가져오려면 어떤 명령어를 입력해야 합니까? 그리고 제가 여러분에게 제공할 수 있는 파일로 다운로드하는 방법은 무엇입니까? (아마도 알 수 있겠지만, 저는 콘솔 사용에 익숙하지 않습니다.)

Discourse doctor가 자체적으로 완료되었지만, 여전히 오류가 있습니다.

우연히도 MAIL TEST 결과에서 다음과 같은 내용이 표시됩니다:

Error response from daemon: No such container: app

또한 현재 discourse doctor 프로세스의 less 출력 내용을 보고 있지만, 이 정보를 여러분과 공유하는 방법에 대한 명령어(거대한 복사/붙여넣기 제외)를 찾을 수 없습니다.

포럼이 빌드되지 않았으니 당연합니다.

복사-붙여넣기를 제안하겠습니다.

Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forum.jimclair.com
SMTP_ADDRESS=in-v3.mailjet.com
DEVELOPER_EMAILS=REDACTED 
SMTP_PASSWORD=REDACTED 
SMTP_PORT=587
SMTP_USER_NAME=495e2921d498a8d1d5ebb0afaccd7b1e
LETSENCRYPT_ACCOUNT_EMAIL=REDACTED 

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 24.0.7, build afdd53b

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20231023-1945: Pulling from discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Status: Image is up to date for discourse/base:2.0.20231023-1945
docker.io/discourse/base:2.0.20231023-1945
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-12-06T20:26:30.044059 #1]  INFO -- : Reading from stdin
I, [2023-12-06T20:26:30.054996 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2023-12-06T20:26:30.127937 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2023-12-06T20:26:30.129014 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2023-12-06T20:26:30.136308 #1]  INFO -- : 
I, [2023-12-06T20:26:30.137496 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2023-12-06T20:26:30.146483 #1]  INFO -- : 
I, [2023-12-06T20:26:30.147545 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2023-12-06T20:26:30.151785 #1]  INFO -- : 
I, [2023-12-06T20:26:30.152774 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2023-12-06T20:26:30.156678 #1]  INFO -- : 
I, [2023-12-06T20:26:30.157561 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-12-06T20:26:30.161932 #1]  INFO -- : 
I, [2023-12-06T20:26:30.162762 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2023/12/06 20:26:30 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2023-12-06T20:26:30.178043 #1]  INFO -- : 
I, [2023-12-06T20:26:30.178987 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2023-12-06T20:26:30.185013 #1]  INFO -- : 
I, [2023-12-06T20:26:30.186426 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2023-12-06T20:26:30.192271 #1]  INFO -- : 
I, [2023-12-06T20:26:30.193332 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-06T20:26:30.198906 #1]  INFO -- : 
I, [2023-12-06T20:26:30.200224 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-06T20:26:30.205350 #1]  INFO -- : 
I, [2023-12-06T20:26:30.216408 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2023-12-06T20:26:30.226083 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2023-12-06T20:26:30.235233 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2023-12-06T20:26:30.244692 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2023-12-06T20:26:30.246204 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2023-12-06T20:26:32.183094 #1]  INFO -- : 
I, [2023-12-06T20:26:32.184301 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2023-12-06T20:26:32.188149 #1]  INFO -- : 
I, [2023-12-06T20:26:32.188988 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2023-12-06T20:26:32.234190 #1]  INFO -- : 
I, [2023-12-06T20:26:32.235330 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2023-12-06T20:26:32.239962 #1]  INFO -- : 
I, [2023-12-06T20:26:32.241087 #1]  INFO -- : > /root/upgrade_postgres
I, [2023-12-06T20:26:32.250757 #1]  INFO -- : 
I, [2023-12-06T20:26:32.251706 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2023-12-06T20:26:32.255928 #1]  INFO -- : 
I, [2023-12-06T20:26:32.258122 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.259713 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.260811 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.262442 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.263355 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.264184 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.264947 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-12-06T20:26:32.272176 #1]  INFO -- : 
I, [2023-12-06T20:26:32.273754 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.274919 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.275763 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.276744 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T20:26:32.277507 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T20:26:32.278326 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T20:26:32.279092 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2023-12-06T20:26:32.282210 #1]  INFO -- : > sleep 5
2023-12-06 20:26:32.359 UTC [41] LOG:  starting PostgreSQL 13.12 (Debian 13.12-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-12-06 20:26:32.361 UTC [41] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-12-06 20:26:32.362 UTC [41] LOG:  listening on IPv6 address "::", port 5432
2023-12-06 20:26:32.365 UTC [41] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-12-06 20:26:32.373 UTC [44] LOG:  database system was shut down at 2023-12-06 20:24:03 UTC
2023-12-06 20:26:32.383 UTC [41] LOG:  database system is ready to accept connections
I, [2023-12-06T20:26:37.289395 #1]  INFO -- : 
I, [2023-12-06T20:26:37.289669 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2023-12-06 20:26:37.379 UTC [54] postgres@postgres ERROR:  database "discourse" already exists
2023-12-06 20:26:37.379 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2023-12-06T20:26:37.385520 #1]  INFO -- : 
I, [2023-12-06T20:26:37.386567 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-12-06 20:26:37.489 UTC [58] postgres@discourse ERROR:  role "discourse" already exists
2023-12-06 20:26:37.489 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2023-12-06T20:26:37.493228 #1]  INFO -- : 
I, [2023-12-06T20:26:37.494395 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2023-12-06T20:26:37.580872 #1]  INFO -- : GRANT

I, [2023-12-06T20:26:37.582256 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-12-06T20:26:37.675825 #1]  INFO -- : ALTER SCHEMA

I, [2023-12-06T20:26:37.676981 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-12-06T20:26:37.768934 #1]  INFO -- : CREATE EXTENSION
I, [2023-12-06T20:26:37.770031 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-12-06T20:26:37.859735 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:37.860890 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2023-12-06T20:26:37.935265 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:37.936060 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-12-06T20:26:37.997652 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:37.998539 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-12-06T20:26:38.064153 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:38.065166 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2023-12-06T20:26:38.129276 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:38.130194 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2023-12-06T20:26:38.135353 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2023-12-06T20:26:38.239022 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2023-12-06T20:26:38.244519 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2023-12-06T20:26:38.245255 #1]  INFO -- : > echo postgres installed!
I, [2023-12-06T20:26:38.248470 #1]  INFO -- : postgres installed!

I, [2023-12-06T20:26:38.255515 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2023-12-06T20:26:38.261932 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2023-12-06T20:26:38.268388 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2023-12-06T20:26:38.270088 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.271335 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.272324 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-12-06T20:26:38.276442 #1]  INFO -- : 
I, [2023-12-06T20:26:38.277583 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.278657 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.281449 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.283018 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.284259 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.286500 #1]  INFO -- : > echo redis installed
I, [2023-12-06T20:26:38.289930 #1]  INFO -- : redis installed

I, [2023-12-06T20:26:38.290767 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-12-06T20:26:38.300057 #1]  INFO -- : logfile ""

I, [2023-12-06T20:26:38.300939 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-06T20:26:38.303702 #1]  INFO -- : > sleep 10
110:C 06 Dec 2023 20:26:38.320 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
110:C 06 Dec 2023 20:26:38.321 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=110, just started
110:C 06 Dec 2023 20:26:38.322 # Configuration loaded
110:M 06 Dec 2023 20:26:38.323 * monotonic clock: POSIX clock_gettime
110:M 06 Dec 2023 20:26:38.325 * Running mode=standalone, port=6379.
110:M 06 Dec 2023 20:26:38.325 # Server initialized
110:M 06 Dec 2023 20:26:38.326 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
110:M 06 Dec 2023 20:26:38.327 * Loading RDB produced by version 7.0.7
110:M 06 Dec 2023 20:26:38.328 * RDB age 155 seconds
110:M 06 Dec 2023 20:26:38.328 * RDB memory usage when created 1.44 Mb
110:M 06 Dec 2023 20:26:38.329 * Done loading RDB, keys loaded: 34, keys expired: 0.
110:M 06 Dec 2023 20:26:38.330 * DB loaded from disk: 0.003 seconds
110:M 06 Dec 2023 20:26:38.330 * Ready to accept connections
I, [2023-12-06T20:26:48.309711 #1]  INFO -- : 
I, [2023-12-06T20:26:48.310733 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2023-12-06T20:26:48.315835 #1]  INFO -- : thpoff is installed!

I, [2023-12-06T20:26:48.316614 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2023-12-06T20:26:48.421314 #1]  INFO -- : 
I, [2023-12-06T20:26:48.422469 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2023-12-06T20:26:48.505162 #1]  INFO -- : 
I, [2023-12-06T20:26:48.506193 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2023-12-06T20:26:48.592535 #1]  INFO -- : 
I, [2023-12-06T20:26:48.593337 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-12-06T20:26:48.597070 #1]  INFO -- : 
I, [2023-12-06T20:26:48.601327 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2023-12-06T20:26:48.608402 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2023-12-06T20:26:48.614544 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2023-12-06T20:26:48.620938 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2023-12-06T20:26:48.627641 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2023-12-06T20:26:48.634446 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2023-12-06T20:26:48.635292 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2023-12-06T20:26:48.636055 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-06T20:26:48.639453 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 06 Dec 2023 20:26:48.649 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
137:C 06 Dec 2023 20:26:48.650 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=137, just started
137:C 06 Dec 2023 20:26:48.650 # Configuration loaded
137:M 06 Dec 2023 20:26:48.651 * monotonic clock: POSIX clock_gettime
137:M 06 Dec 2023 20:26:48.654 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
137:M 06 Dec 2023 20:26:48.654 # Failed listening on port 6379 (TCP), aborting.
Updating files:  14% (4924/33858)^MUpdating files:  15% (5079/33858)^MUpdating files:  16% (5418/33858)^MUpdating files:  17% (5756/33858)^MUpdating files:  18% (6095/33858)^MUpdating files:  19% (6434/33858)^MUpdating files:  20% (6772/33858)^MUpdating files:  21% (7111/33858)^MUpdating files:  22% (7449/33858)^MUpdating files:  23% (7788/33858)^MUpdating files:  24% (8126/33858)^MUpdating files:  25% (8465/33858)^MUpdating files:  26% (8804/33858)^MUpdating files:  27% (9142/33858)^MUpdating files:  28% (9481/33858)^MUpdating files:  28% (9556/33858)^MUpdating files:  29% (9819/33858)^MUpdating files:  30% (10158/33858)^MUpdating files:  31% (10496/33858)^MUpdating files:  32% (10835/33858)^MUpdating files:  33% (11174/33858)^MUpdating files:  34% (11512/33858)^MUpdating files:  35% (11851/33858)^MUpdating files:  36% (12189/33858)^MUpdating files:  37% (12528/33858)^MUpdating files:  38% (12867/33858)^MUpdating files:  39% (13205/33858)^MUpdating files:  40% (13544/33858)^MUpdating files:  41% (13882/33858)^MUpdating files:  42% (14221/33858)^MUpdating files:  43% (14559/33858)^MUpdating files:  44% (14898/33858)^MUpdating files:  45% (15237/33858)^MUpdating files:  45% (15499/33858)^MUpdating files:  46% (15575/33858)^M^MUpdating files:  47% (15914/33858)^MUpdating files:  48% (16252/33858)^MUpdating files:  49% (16591/33858)^MUpdating files:  50% (16929/33858)^MUpdating files:  51% (17268/33858)^MUpdating files:  52% (17607/33858)^MUpdating files:  53% (17945/33858)^MUpdating files:  54% (18284/33858)^MUpdating files:  55% (18622/33858)^MUpdating files:  56% (18961/33858)^MUpdating files:  57% (19300/33858)^MUpdating files:  58% (19638/33858)^MUpdating files:  59% (19977/33858)^MUpdating files:  60% (20315/33858)^MUpdating files:  61% (20654/33858)^MUpdating files:  62% (20992/33858)^MUpdating files:  63% (21331/33858)^MUpdating files:  64% (21670/33858)^MUpdating files:  64% (21754/33858)^MUpdating files:  65% (22008/33858)^MUpdating files:  66% (22347/33858)^MUpdating files:  67% (22685/33858)^MUpdating files:  68% (23024/33858)^MUpdating files:  69% (23363/33858)^MUpdating files:  70% (23701/33858)^MUpdating files:  71% (24040/33858)^MUpdating files:  72% (24378/33858)^MUpdating files:  73% (24717/33858)^MUpdating files:  74% (25055/33858)^MUpdating files:  75% (25394/33858)^MUpdating files:  76% (25733/33858)^MUpdating files:  77% (26071/33858)^MUpdating files:  78% (26410/33858)^MUpdating files:  79% (26748/33858)^MUpdating files:  80% (27087/33858)^MUpdating files:  80% (27336/33858)^MUpdating files:  81% (27425/33858)^MUpdating files:  82% (27764/33858)^MUpdating files:  83% (28103/33858)^MUpdating files:  84% (28441/33858)^MUpdating files:  85% (28780/33858)^MUpdating files:  86% (29118/33858)^MUpdating files:  87% (29457/33858)^MUpdating files:  88% (29796/33858)^MUpdating files:  89% (30134/33858)^MUpdating files:  90% (30473/33858)^MUpdating files:  91% (30811/33858)^MUpdating files:  92% (31150/33858)^MUpdating files:  93% (31488/33858)^MUpdating files:  94% (31827/33858)^MUpdating files:  94% (32069/33858)^MUpdating files:  95% (32166/33858)^MUpdating files:  96% (32504/33858)^MUpdating files:  97% (32843/33858)^MUpdating files:  98% (33181/33858)^MUpdating files:  99% (33520/33858)^MUpdating files: 100% (33858/33858)^MUpdating files: 100% (33858/33858), done.
I, [2023-12-06T20:26:56.173644 #1]  INFO -- : HEAD is now at 043b4a418 FIX: replaces data-tooltip usage by <DTooltip /> (#24062)

I, [2023-12-06T20:26:56.177410 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-12-06T20:26:56.982967 #1]  INFO -- : 
I, [2023-12-06T20:26:56.983710 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-flake-key
 - [deleted]             (none)     -> origin/0-obscuring
 - [deleted]             (none)     -> origin/0-router-lint
 - [deleted]             (none)     -> origin/0-router-service
 - [deleted]             (none)     -> origin/autoimport-cleanup
 - [deleted]             (none)     -> origin/category-bullet-only
 - [deleted]             (none)     -> origin/dependabot/bundler/syntax_tree-6.2.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.4.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.8.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.6.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.5.2
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.4.2
 - [deleted]             (none)     -> origin/dev-upgrade-reject-reason-reviewable-modal
 - [deleted]             (none)     -> origin/dev/ability-to-collect-stats-without-public-exposing
 - [deleted]             (none)     -> origin/dev/minio-s3-system-specs
 - [deleted]             (none)     -> origin/dev/re-enable-minio-specs
 - [deleted]             (none)     -> origin/dev/switch-over-category-settings
 - [deleted]             (none)     -> origin/dev/switch-over-more-category-settings
 - [deleted]             (none)     -> origin/discovery-named-outlets
 - [deleted]             (none)     -> origin/feature/theme-settings-migration
 - [deleted]             (none)     -> origin/fix/account-for-empty-string-site-settings
 - [deleted]             (none)     -> origin/footnote-plugin
 - [deleted]             (none)     -> origin/metadata-update
 - [deleted]             (none)     -> origin/modal-ux
 - [deleted]             (none)     -> origin/neil-2
 - [deleted]             (none)     -> origin/perf_cache_async_search
 - [deleted]             (none)     -> origin/spoiler-plugin
 - [deleted]             (none)     -> origin/support-search-customizationz
   043b4a418..42a75e3df  main                   -> origin/main
 * [new branch]          0-lint-suffix          -> origin/0-lint-suffix
 * [new branch]          0-rubocop              -> origin/0-rubocop
 * [new branch]          0-timeoubara           -> origin/0-timeoubara
 * [new branch]          0-typos                -> origin/0-typos
 * [new branch]          add-custom-emoji-sanitization-clean -> origin/add-custom-emoji-sanitization-clean
 * [new branch]          add-ds-store-to-gitignore -> origin/add-ds-store-to-gitignore
 + 64520a075...ff17131c9 add-new-chat-indicator-preference-only-mentions -> origin/add-new-chat-indicator-preference-only-mentions  (강제 업데이트)
 * [new branch]          api-topic-title-decorator -> origin/api-topic-title-decorator
 * [new branch]          array-custom-field-fix -> origin/array-custom-field-fix
 * [new branch]          array-custom-field-order -> origin/array-custom-field-order
 * [new branch]          avatar-notifications   -> origin/avatar-notifications
 * [new branch]          boosted-searches       -> origin/boosted-searches
 * [new branch]          bulk-button-class      -> origin/bulk-button-class
 * [new branch]          category_definition    -> origin/category_definition
 * [new branch]          chat-github-onebox     -> origin/chat-github-onebox
 * [new branch]          chat-reaction-emoji-alignment -> origin/chat-reaction-emoji-alignment
 * [new branch]          chat/direct-messages   -> origin/chat/direct-messages
 * [new branch]          custom-field-store-cleanup -> origin/custom-field-store-cleanup
 * [new branch]          delete-backups-based-on-time-window -> origin/delete-backups-based-on-time-window
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0
* [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0
 * [new branch]          desktop-notification-handlers -> origin/desktop-notification-handlers
 * [new branch]          dev/add-a-reference-column-to-notifications -> origin/dev/add-a-reference-column-to-notifications
 + ee95e6359...346f9d1cd dev/add-new-chat-metrics -> origin/dev/add-new-chat-metrics  (강제 업데이트)
 * [new branch]          dev/dry-up-user-status-serializers -> origin/dev/dry-up-user-status-serializers
 * [new branch]          dev/flaky-chat-details-collapser-spec -> origin/dev/flaky-chat-details-collapser-spec
 * [new branch]          dev/no-need-to-include-user-status-twice -> origin/dev/no-need-to-include-user-status-twice
 * [new branch]          dev/rethink-mass-mentions -> origin/dev/rethink-mass-mentions
 * [new branch]          dev/rethink-mass-mentions-polymorphic -> origin/dev/rethink-mass-mentions-polymorphic
 * [new branch]          dev/revert-guardian-devex -> origin/dev/revert-guardian-devex
 * [new branch]          dev/use-system-user-id-const -> origin/dev/use-system-user-id-const
 + 54940ca5c...fb0c7ba69 dev_paginate_categories_json -> origin/dev_paginate_categories_json  (강제 업데이트)
 * [new branch]          dev_watched_words      -> origin/dev_watched_words
 + 46fe4511f...a9d0e7069 ember-4                -> origin/ember-4  (강제 업데이트)
 * [new branch]          ember-5-plugins        -> origin/ember-5-plugins
 * [new branch]          extract_stripper       -> origin/extract_stripper
 * [new branch]          feature/add-copy-share-link-post-functionality -> origin/feature/add-copy-share-link-post-functionality
   9a6c6fd5b..8780daeee  feature/bookmark-menu-and-modal-redesign -> origin/feature/bookmark-menu-and-modal-redesign
 * [new branch]          feature/migrations-schema-generator -> origin/feature/migrations-schema-generator
 * [new branch]          feature_watched_words_validation -> origin/feature_watched_words_validation
 * [new branch]          file-size-restriction  -> origin/file-size-restriction
   43df37774..4393dd37e  filtered-events        -> origin/filtered-events
 * [new branch]          fix/count-mass-mentions-correctly -> origin/fix/count-mass-mentions-correctly
 * [new branch]          fix_category_select_kits -> origin/fix_category_select_kits
 * [new branch]          full-page              -> origin/full-page
   ce7fb6906..a6227532d  generic-import-latest  -> origin/generic-import-latest
 * [new branch]          generic-import-latest-snowflake -> origin/generic-import-latest-snowflake
 * [new branch]          generic-import-update  -> origin/generic-import-update
 * [new branch]          image-assets           -> origin/image-assets
 * [new branch]          independent-theme-compiler -> origin/independent-theme-compiler
 * [new branch]          input-text-field-component -> origin/input-text-field-component
 * [new branch]          issue/fix-guardian-init-basic-user -> origin/issue/fix-guardian-init-basic-user
 * [new branch]          keyword-site-setting   -> origin/keyword-site-setting
 + bdcc24f96...92e545292 list-wrapper           -> origin/list-wrapper  (강제 업데이트)
   e3636078c..5def32699  mock-chat-index-redesign -> origin/mock-chat-index-redesign
 * [new branch]          move_inflector         -> origin/move_inflector
 * [new branch]          oklab                  -> origin/oklab
 * [new branch]          poc/auto-after-before-plugin-outlets -> origin/poc/auto-after-before-plugin-outlets
 * [new branch]          poc/insert-before-after-wrapping-outlet -> origin/poc/insert-before-after-wrapping-outlet
 * [new branch]          pretty-text-please     -> origin/pretty-text-please
 * [new branch]          revert-maxmind         -> origin/revert-maxmind
   ef3f41543..223626d7a  stable                 -> origin/stable
 * [new branch]          support-load-more-btn  -> origin/support-load-more-btn
 * [new branch]          test-issue-temporary   -> origin/test-issue-temporary
   043b4a418..42a75e3df  tests-passed           -> origin/tests-passed
 * [new branch]          tobiaseigen-patch-3    -> origin/tobiaseigen-patch-3
 * [new branch]          transform-hooks        -> origin/transform-hooks
 * [new branch]          transform-post-fn-api  -> origin/transform-post-fn-api
 * [new branch]          tweaks-2-fr            -> origin/tweaks-2-fr
 * [new branch]          use-sassc-embedded     -> origin/use-sassc-embedded
 * [new branch]          username_cache         -> origin/username_cache
 * [new branch]          ux-add-sorting-params-to-outlet -> origin/ux-add-sorting-params-to-outlet
 t [tag update]          beta                   -> beta
 t [tag update]          latest-release         -> latest-release
 * [new tag]             v3.1.3                 -> v3.1.3
 * [new tag]             v3.2.0.beta3           -> v3.2.0.beta3
I, [2023-12-06T20:26:58.926569 #1]  INFO -- : 
I, [2023-12-06T20:26:58.927227 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
'tests-passed' 새 분기로 전환됨
I, [2023-12-06T20:27:03.240852 #1]  INFO -- : 'tests-passed' 분기는 'origin'의 원격 분기 'tests-passed'를 추적하도록 설정되었습니다.

I, [2023-12-06T20:27:03.241691 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2023-12-06T20:27:03.259458 #1]  INFO -- : 
I, [2023-12-06T20:27:03.260307 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-12-06T20:27:03.268215 #1]  INFO -- : 
I, [2023-12-06T20:27:03.268948 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-12-06T20:27:03.274182 #1]  INFO -- : 
I, [2023-12-06T20:27:03.274855 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-12-06T20:27:03.278878 #1]  INFO -- : 
I, [2023-12-06T20:27:03.279454 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-12-06T20:27:03.283264 #1]  INFO -- : 
I, [2023-12-06T20:27:03.283766 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-12-06T20:27:03.288610 #1]  INFO -- : 
I, [2023-12-06T20:27:03.289240 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2023-12-06T20:27:03.294659 #1]  INFO -- : 
I, [2023-12-06T20:27:03.295302 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-12-06T20:27:03.302627 #1]  INFO -- : 
I, [2023-12-06T20:27:03.303433 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2023-12-06T20:27:03.315829 #1]  INFO -- : 
I, [2023-12-06T20:27:03.316535 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-12-06T20:27:03.323346 #1]  INFO -- : 
I, [2023-12-06T20:27:03.324041 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-12-06T20:27:03.329963 #1]  INFO -- : 
I, [2023-12-06T20:27:03.330611 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-12-06T20:27:03.336990 #1]  INFO -- : 
I, [2023-12-06T20:27:03.338135 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-12-06T20:27:03.344705 #1]  INFO -- : 
I, [2023-12-06T20:27:03.345357 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-12-06T20:27:03.352154 #1]  INFO -- : 
I, [2023-12-06T20:27:03.352907 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-12-06T20:27:03.356397 #1]  INFO -- : 
I, [2023-12-06T20:27:03.358224 #1]  INFO -- : /etc/service/unicorn/run에서 # redis를 sv start redis || exit 1로 대체
I, [2023-12-06T20:27:03.359316 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
'docker_manager'에 복제 중...
I, [2023-12-06T20:27:04.552327 #1]  INFO -- : 
I, [2023-12-06T20:27:04.553636 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T20:27:04.563675 #1]  INFO -- : 
I, [2023-12-06T20:27:04.565087 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-12-06T20:27:04.571639 #1]  INFO -- : 
I, [2023-12-06T20:27:04.573162 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2023-12-06T20:27:04.580350 #1]  INFO -- : 
I, [2023-12-06T20:27:04.582472 #1]  INFO -- : /etc/nginx/nginx.conf에서 pid /run/nginx.pid;를 daemon off;로 대체
I, [2023-12-06T20:27:04.583466 #1]  INFO -- : /etc/nginx/conf.d/discourse.conf에서 (?m-ix:upstream[^\}]+\})를 upstream discourse { server 127.0.0.1:3000; }로 대체
I, [2023-12-06T20:27:04.584155 #1]  INFO -- : /etc/nginx/conf.d/discourse.conf에서 (?-mix:server_name.+$)를 server_name _ ;로 대체
I, [2023-12-06T20:27:04.584716 #1]  INFO -- : /etc/nginx/conf.d/discourse.conf에서 (?-mix:client_max_body_size.+$)를 client_max_body_size $upload_size ;로 대체
I, [2023-12-06T20:27:04.585271 #1]  INFO -- : /etc/nginx/nginx.conf에서 (?-mix:worker_connections.+$)를 worker_connections $nginx_worker_connections ;로 대체
I, [2023-12-06T20:27:04.585727 #1]  INFO -- : > echo "done configuring web"
I, [2023-12-06T20:27:04.588861 #1]  INFO -- : 웹 구성 완료

I, [2023-12-06T20:27:04.589566 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2023-12-06T20:27:04.923204 #1]  INFO -- : 
I, [2023-12-06T20:27:04.927970 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2023-12-06T20:27:10.523499 #1]  INFO -- : 
I, [2023-12-06T20:27:10.524699 #1]  INFO -- : > cd /var/www/discourse && if [ "tests-passed" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2023-12-06T20:27:10.527759 #1]  INFO -- : 
I, [2023-12-06T20:27:10.528364 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning " > @glint/environment-ember-loose@1.1.0" has unmet peer dependency "@glimmer/component@^1.1.2".
warning " > @glint/environment-ember-template-imports@1.1.0" has unmet peer dependency "ember-template-imports@^3.0.0".
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @ember/legacy-built-in-components@0.5.0" has incorrect peer dependency "ember-source@>= 4.8".
warning "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
I, [2023-12-06T20:29:55.103882 #1]  INFO -- : yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ yarn --cwd app/assets/javascripts $(node -e 'const argv = JSON.parse(process.env.npm_config_argv).original; const passthrough = [`--frozen-lockfile`, `-s`].filter(arg => argv.includes(arg)); console.log(passthrough.join(` `));')
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ ./run-patch-package
patch-package 8.0.0
패치 적용 중...
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-cli@5.0.0 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
78.38초 만에 완료.
150.14초 만에 완료.
yarn cache v1.22.19
성공: 캐시 삭제됨.
13.55초 만에 완료.
I, [2023-12-06T20:29:55.136749 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2023-12-06T20:29:55.567684 #1]  INFO -- : 
I, [2023-12-06T20:29:55.568701 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2023-12-06T20:29:55.820221 #1]  INFO -- : 현재 "test:development"인 without의 현재 로컬 값을 대체하고 있습니다.

I, [2023-12-06T20:29:55.821029 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
I, [2023-12-06T20:30:38.015883 #1]  INFO -- : https://rubygems.org/에서 gem 메타데이터 가져오는 중.........
rake 13.1.0 가져오는 중
rake 13.1.0 설치 중
builder 3.2.4 사용 중
erubi 1.12.0 사용 중
racc 1.7.3 가져오는 중
crass 1.0.6 사용 중
minitest 5.20.0 사용 중
concurrent-ruby 1.2.2 사용 중
rack 2.2.8 사용 중
mini_mime 1.1.5 사용 중
timeout 0.4.1 가져오는 중
public_suffix 5.0.4 가져오는 중
date 3.3.4 가져오는 중
timeout 0.4.1 설치 중
racc 1.7.3 네이티브 확장 기능과 함께 설치 중
date 3.3.4 네이티브 확장 기능과 함께 설치 중
public_suffix 5.0.4 설치 중
aws-eventstream 1.3.0 가져오는 중
aws-eventstream 1.3.0 설치 중
jmespath 1.6.2 사용 중
base64 0.2.0 가져오는 중
aws-partitions 1.583.0 사용 중
msgpack 1.7.2 사용 중
bundler 2.4.13 사용 중
byebug 11.1.3 사용 중
cbor 0.5.9.6 사용 중
cgi 0.4.1 가져오는 중
base64 0.2.0 설치 중
cgi 0.4.1 네이티브 확장 기능과 함께 설치 중
chunky_png 1.4.0 사용 중
coderay 1.1.3 사용 중
colored2 4.0.0 사용 중
connection_pool 2.4.1 사용 중
openssl 3.2.0 사용 중
cppjieba_rb 0.4.2 사용 중
google-protobuf 3.25.1 (x86_64-linux) 가져오는 중
google-protobuf 3.25.1 (x86_64-linux) 설치 중
diffy 3.4.2 사용 중
digest 3.1.1 사용 중
discourse-fonts 0.0.9 사용 중
email_reply_trimmer 0.1.13 사용 중
excon 0.105.0 가져오는 중
excon 0.105.0 설치 중
execjs 2.9.1 사용 중
exifr 1.4.0 사용 중
faraday-net_http 3.0.2 사용 중
ruby2_keywords 0.0.5 사용 중
fast_blank 1.0.1 사용 중
fast_xs 0.8.0 사용 중
fastimage 2.2.7 사용 중
ffi 1.16.3 사용 중
fspath 3.1.2 사용 중
gc_tracer 1.5.1 사용 중
guess_html_encoding 0.0.11 사용 중
hana 1.3.7 사용 중
hashie 5.0.0 사용 중
highline 2.1.0 사용 중
htmlentities 4.3.4 사용 중
http_accept_language 2.1.1 사용 중
image_size 3.3.0 사용 중
in_threads 1.6.0 사용 중
progress 3.6.0 사용 중
json 2.7.1 가져오는 중
json 2.7.1 네이티브 확장 기능과 함께 설치 중
regexp_parser 2.8.3 가져오는 중
regexp_parser 2.8.3 설치 중
unf_ext 0.0.9.1 가져오는 중
unf_ext 0.0.9.1 네이티브 확장 기능과 함께 설치 중
jwt 2.7.1 사용 중
kgio 2.11.4 사용 중
libv8-node 18.16.0.0 (x86_64-linux) 사용 중
method_source 1.0.0 사용 중
thor 1.3.0 사용 중
zeitwerk 2.6.12 사용 중
logstash-event 1.2.02 사용 중
logster 2.13.1 가져오는 중
logster 2.13.1 설치 중
lru_redux 1.1.0 사용 중
lz4-ruby 0.3.3 사용 중
maxminddb 0.1.22 사용 중
memory_profiler 1.0.1 사용 중
redis 4.8.1 사용 중
mini_sql 1.5.0 사용 중
multi_json 1.15.0 사용 중
multi_xml 0.6.0 사용 중
mustache 1.1.1 사용 중
uri 0.13.0 가져오는 중
uri 0.13.0 설치 중
nio4r 2.7.0 가져오는 중
nio4r 2.7.0 네이티브 확장 기능과 함께 설치 중
version_gem 1.1.3 사용 중
oj 3.16.1 사용 중
optimist 3.1.0 사용 중
pg 1.5.4 사용 중
raindrops 0.20.1 사용 중
rchardet 1.8.0 사용 중
rexml 3.2.6 사용 중
rinku 2.0.6 사용 중
rotp 6.3.0 사용 중
rqrcode_core 1.2.0 사용 중
rubyzip 2.3.2 사용 중
sshkey 3.0.0 사용 중
stackprof 0.2.25 사용 중
i18n 1.14.1 사용 중
tzinfo 2.0.6 사용 중
rack-test 2.1.0 사용 중
request_store 1.5.1 사용 중
message_bus 4.3.8 사용 중
rack-mini-profiler 3.1.1 사용 중
rack-protection 3.1.0 사용 중
https://github.com/rails/sprockets (at 3.x@f4d3dae)에서 sprockets 3.7.2 사용 중
net-protocol 0.2.2 가져오는 중
net-protocol 0.2.2 설치 중
aws-sigv4 1.5.0 사용 중
addressable 2.8.5 사용 중
bootsnap 1.17.0 가져오는 중
bootsnap 1.17.0 네이티브 확장 기능과 함께 설치 중
openssl-signature_algorithm 1.3.0 사용 중
sass-embedded 1.66.1 (x86_64-linux-gnu) 가져오는 중
sass-embedded 1.66.1 (x86_64-linux-gnu) 설치 중
uglifier 4.2.0 사용 중
faraday 2.7.12 가져오는 중
faraday 2.7.12 설치 중
mini_suffix 0.3.3 사용 중
omniauth 1.9.2 사용 중
image_optim 0.31.3 사용 중
nokogiri 1.15.5 (x86_64-linux) 가져오는 중
nokogiri 1.15.5 (x86_64-linux) 설치 중
web-push 3.0.1 가져오는 중
web-push 3.0.1 설치 중
mini_racer 0.8.0 사용 중
pry 0.14.2 사용 중
logstash-logger 0.26.1 사용 중
sidekiq 6.5.12 사용 중
redis-namespace 1.11.0 사용 중
net-http 0.4.0 가져오는 중
unf 0.1.4 사용 중
net-http 0.4.0 설치 중
oauth-tty 1.0.5 사용 중
snaky_hash 2.0.1 사용 중
rbtrace 0.5.0 가져오는 중
rss 0.3.0 사용 중
unicorn 6.1.0 사용 중
rqrcode 2.2.0 사용 중
activesupport 7.0.7 사용 중
tzinfo-data 1.2023.3 사용 중
net-pop 0.1.2 사용 중
net-smtp 0.4.0 사용 중
aws-sdk-core 3.130.2 사용 중
css_parser 1.16.0 사용 중
cose 1.3.0 사용 중
dartsass-ruby 3.0.2 가져오는 중
rbtrace 0.5.0 네이티브 확장 기능과 함께 설치 중
dartsass-ruby 3.0.2 설치 중
faraday-retry 2.2.0 사용 중
oauth2 1.4.11 사용 중
loofah 2.22.0 가져오는 중
loofah 2.22.0 설치 중
ruby-readability 0.7.0 사용 중
sanitize 6.1.0 사용 중
rtlcss 0.2.1 사용 중
pry-byebug 3.10.1 사용 중
pry-rails 0.3.9 사용 중
mini_scheduler 0.16.0 사용 중
simpleidn 0.2.1 사용 중
oauth 1.1.0 사용 중
rails-dom-testing 2.2.0 사용 중
globalid 1.2.1 사용 중
activemodel 7.0.7 사용 중
aws-sdk-kms 1.56.0 사용 중
aws-sdk-sns 1.53.0 사용 중
omniauth-oauth2 1.7.3 사용 중
rails-html-sanitizer 1.6.0 사용 중
json_schemer 2.1.1 가져오는 중
json_schemer 2.1.1 설치 중
omniauth-oauth 1.2.0 사용 중
actionview 7.0.7 사용 중
activejob 7.0.7 사용 중
active_model_serializers 0.8.4 사용 중
activerecord 7.0.7 사용 중
aws-sdk-s3 1.114.0 사용 중
omniauth-facebook 9.0.0 사용 중
omniauth-github 1.4.0 사용 중
omniauth-google-oauth2 0.8.2 사용 중
omniauth-twitter 1.4.0 사용 중
actionpack 7.0.7 사용 중
actionview_precompiler 0.3.0 사용 중
discourse-seed-fu 2.3.12 사용 중
railties 7.0.7 사용 중
sprockets-rails 3.4.2 사용 중
lograge 0.14.0 사용 중
rails_failover 2.0.1 사용 중
rails_multisite 5.0.0 사용 중
puma 6.4.0 사용 중
net-imap 0.4.7 가져오는 중
net-imap 0.4.7 설치 중
mail 2.8.1 사용 중
actionmailer 7.0.7 사용 중
Bundle 완료! 135 Gemfile 의존성, 170개의 gem이 설치되었습니다.
'development' 및 'test' 그룹의 Gems는 설치되지 않았습니다.
Bundled gems는 `./vendor/bundle`에 설치되었습니다.
I, [2023-12-06T20:30:38.029906 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-12-06T20:30:42.946058 #1]  INFO -- : docker_manager는 이미 최신 호환 버전입니다.

I, [2023-12-06T20:30:42.947529 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
I, [2023-12-06T20:30:52.368108 #1]  INFO -- : 
I, [2023-12-06T20:30:52.370735 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Node.js heap_size_limit (488.25)이 1024MB보다 작습니다. --max-old-space-size=1024로 설정 중.
Node.js heap_size_limit (488.25)이 2048MB보다 작습니다. 메모리를 절약하기 위해 JOBS=0으로 Webpack 병렬화를 비활성화합니다.
110:M 06 Dec 2023 20:31:39.033 * 300초 동안 100건의 변경 사항. 저장 중...
110:M 06 Dec 2023 20:31:39.037 * pid 3264에 의해 백그라운드 저장 시작
3264:C 06 Dec 2023 20:31:39.055 * DB가 디스크에 저장됨
3264:C 06 Dec 2023 20:31:39.056 * RDB의 Fork CoW: 현재 0 MB, 피크 0 MB, 평균 0 MB
110:M 06 Dec 2023 20:31:39.138 * 백그라운드 저장이 성공적으로 종료됨

<--- Last few GCs --->

[3250:0x75de170]   713299 ms: Scavenge 941.1 (1032.4) -> 939.7 (1032.4) MB, 11.8 / 0.0 ms  (average mu = 0.392, current mu = 0.720) allocation failure; 
[3250:0x75de170]   713376 ms: Scavenge 941.4 (1032.4) -> 940.0 (1032.4) MB, 13.1 / 0.0 ms  (average mu = 0.392, current mu = 0.720) allocation failure; 
[3250:0x75de170]   713474 ms: Scavenge 941.9 (1032.4) -> 940.4 (1036.4) MB, 19.8 / 0.0 ms  (average mu = 0.392, current mu = 0.720) allocation failure; 
<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 0xb83f50 node::Abort() [ember]
 2: 0xa94834  [ember]
 3: 0xd647c0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [ember]
 4: 0xd64b67 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [ember]
 5: 0xf42265  [ember]
 6: 0xf5474d v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [ember]
 7: 0xf2ee4e v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [ember]
 8: 0xf30217 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [ember]
 9: 0xf113ea v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [ember]
10: 0x12d674f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [ember]
11: 0x17035b9  [ember]
Aborted (core dumped)
error Command failed with exit code 134.
I, [2023-12-06T20:42:53.261307 #1]  INFO -- : yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build
빌드 중
Environment: development
WARNING: ember-test-selectors: You are using an unsupported ember-cli-babel version. data-test properties are not automatically stripped from your JS code.
빌드 중... 
...[ConfigLoader]
...[Babel: discourse-widget-hbs > applyPatches]
...[Babel: ember-source > applyPatches]
...[ember.js]
...[Babel: discourse-common > applyPatches]
...[Babel: truth-helpers > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: @ember/render-modifiers > applyPatches]
...[Babel: @ember/test-waiters > applyPatches]
...[Babel: @embroider/util > applyPatches]
...[Babel: dialog-holder > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-cached-decorator-polyfill > applyPatches]
...[Babel: ember-exam > applyPatches]
...[Babel: ember-functions-as-helper-polyfill > applyPatches]
...[Babel: ember-resize-observer-service > applyPatches]
...[Babel: ember-router-service-refresh-polyfill > applyPatches]
...[Babel: float-kit > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I, [2023-12-06T20:42:53.304072 #1]  INFO -- : 비동기 프로세스 종료 중
I, [2023-12-06T20:42:53.306771 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41에 INT 전송
2023-12-06 20:42:53.307 UTC [41] LOG:  received fast shutdown request
I, [2023-12-06T20:42:53.309208 #1]  INFO -- : exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 110에 TERM 전송
110:signal-handler (1701895373) Received SIGTERM scheduling shutdown...
2023-12-06 20:42:53.311 UTC [41] LOG:  aborting any active transactions
2023-12-06 20:42:53.331 UTC [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2023-12-06 20:42:53.335 UTC [45] LOG:  shutting down
110:M 06 Dec 2023 20:42:53.367 # User requested shutdown...
110:M 06 Dec 2023 20:42:53.369 * 종료 전에 최종 RDB 스냅샷 저장 중.
2023-12-06 20:42:53.379 UTC [41] LOG:  database system is shut down
110:M 06 Dec 2023 20:42:53.392 * DB가 디스크에 저장됨
110:M 06 Dec 2023 20:42:53.393 # Redis is now ready to exit, bye bye...


실패
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 3186 exit 134>
실패 위치: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 134
** BOOTSTRAP 실패 ** 이전의 오류 메시지가 더 있을 수 있으므로 위로 스크롤하여 확인하세요.
./discourse-doctor가 문제를 진단하는 데 도움이 될 수 있습니다.
ce5db16b179d8bbe8be1cc8898c2d89a9f8259e5f4f6d6bbeda8e6fa69723aa5
==================== END REBUILD LOG ====================
앱 재빌드 실패.

도메인 이름 확인 중 . . .

forum.jimclair.com에 연결 성공.
표준이 아닌 플러그인을 제거하고 재빌드하는 것이 좋습니다.
시도기존 컨테이너 재시작 중 . . . 
x86_64 아키텍처가 감지되었습니다.

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -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=forum.jimclair.com -e DISCOURSE_DEVELOPER_EMAILS=REDACTED  -e DISCOURSE_SMTP_ADDRESS=in-v3.mailjet.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=495e2921d498a8d1d5ebb0afaccd7b1e -e DISCOURSE_SMTP_PASSWORD=REDACTED  -e DISCOURSE_SMTP_DOMAIN=forum.jimclair.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@forum.jimclair.com -e LETSENCRYPT_ACCOUNT_EMAIL=REDACTED  -h JimClairDiscourse-app -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 02:43:18:d7:5e:e0 local_discourse/app /sbin/boot
로컬에서 이미지 'local_discourse/app:latest'를 찾을 수 없습니다
docker: 데몬에서 오류 응답: local_discourse/app에 대한 pull 접근이 거부되었습니다. 저장소가 존재하지 않거나 'docker login'이 필요할 수 있습니다: 거부됨: 요청한 리소스에 대한 접근이 거부되었습니다.
'docker run --help'를 참조하십시오.
컨테이너 재시작에 실패했습니다.


==================== 플러그인 ====================
          - git clone https://github.com/discourse/docker_manager.git

비공식 플러그인이 감지되지 않았습니다.

공식 목록은 https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb를 참조하십시오.

========================================
forum.jimclair.com의 Discourse 버전: 찾을 수 없음
localhost의 Discourse 버전: 찾을 수 없음

==================== 메모리 정보 ====================
OS: Linux
RAM (MB): 998

               총계        사용량        여유      공유  buff/cache   사용 가능
Mem:             952         363         254           3         493         589
Swap:           2047          87        1960

==================== 디스크 공간 확인 ====================
---------- OS 디스크 공간 ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        24G  7.7G   16G  33% /

==================== 디스크 정보 ====================
Disk /dev/loop0: 73.9 MiB, 77492224 bytes, 151352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop1: 180.94 MiB, 189730816 bytes, 370568 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop2: 40.86 MiB, 42840064 bytes, 83672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F62235F3-8D92-4E44-9154-0DCF72CBCB9D

Device       Start      End  Sectors  Size Type
/dev/vda1  2099200 52428766 50329567   24G Linux filesystem
/dev/vda14    2048    10239     8192    4M BIOS boot
/dev/vda15   10240   227327   217088  106M EFI System
/dev/vda16  227328  2097152  1869825  913M Linux extended boot

パーティション テーブル エントリはディスクの順序になっていません。


Disk /dev/vdb: 466 KiB, 477184 bytes, 932 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

==================== 디스크 정보 종료 ====================

==================== 메일 테스트 ====================
강력한 테스트를 위해 http://www.mail-tester.com/에서 주소를 가져오십시오.
REDACTED(으)로 메일 전송 중 . . 


==================== 완료! ====================

LESS=-Ri less /tmp/discourse-debug.txt 명령을 사용하여 이 스크립트의 출력을 검사할 수 있습니다.

메모리 문제를 겪고 있는 것 같습니다. 임시 해결책으로 드롭릿(Droplet)을 일시적으로 리사이즈하여 재구축을 완료한 후, 다시 원래 크기로 줄이는 방법을 시도해 보시는 건 어떨까요?

대략적인 수치로, RAM은 1GB, 스왑은 2GB이며, 로그를 보면 Ember가 메모리를 소진한 것을 확인할 수 있습니다. 디스크 공간에 16GB의 여유가 있으니, 2GB 크기의 스왑파일을 추가하고 다시 시도해 보시길 권장합니다.

수정: 다른 답변과 중복되었습니다. 사실, 더 많은 RAM으로 일시적으로 업그레이드하는 것도 또 다른 방법입니다. 저렴한 구성으로 되돌아갈 수 있도록 업그레이드를 신중하게 진행해야 하며, 보통 이는 디스크 크기를 그대로 유지하는 것을 의미합니다.

수정: 가상 메모리 사용량을 줄이기 위해 설정해야 하는 몇 가지 커널 설정이 있습니다. 참고:
MKJ’s Opinionated Discourse Deployment Configuration

일반 스왑 파일 외에도 zram을 살펴보는 것을 권장합니다. zram은 RAM의 일정 비율을 압축된 스왑 공간으로 설정할 수 있게 해줍니다. Debian 패키지는 zram에 일반 스왑보다 높은 우선순위를 부여하므로, RAM에 기반한 매우 빠른 중간 스왑 파일처럼 작동합니다. 또한 투명한 압축을 통해 최대 5배의 공간 절감 효과를 얻을 수 있습니다(즉, 이 매우 빠른 스왑 파일은 일반적인 RAM이 수용할 수 있는 용량의 최대 5배까지 저장할 수 있다는 뜻입니다).

직관적으로 생각하면 역설적으로 들릴 수 있지만, 실제로는 매우 잘 작동합니다.

저는 이 설정(1GB RAM + 2GB SWAP)을 정확히 테스트해 봤는데, Ember 빌드 단계에서 50%의 확률로 실패합니다.

계속 시도해 보거나 $12짜리 2GB RAM 드롭레트로 업그레이드하는 두 가지 선택지가 있습니다.

@david 이번 주早些에 논의했던 내용입니다.

비슷한 다른 질문과 크로스링크합니다 - Upgrade from 3.2.0.beta3-dev to 3.2.0.beta3 failed due to out of memory - #9 by JammyDodger

최근에는 8GB의 RAM이 있고 스왑이 없는 두 사이트에서 이러한 문제가 발생했습니다. (최소한 한 곳에서는 exit 137로 실패했습니다.) 두 경우 모두 2GB의 스왑을 추가했고, 그 후 정상적으로 작동했습니다.

다행히도 - 내 경우 - 이것은 버그로 간주될 수 있을까요?