2026.1 베타 업데이트

관리자 패널에서 이 업데이트 메시지를 보고 있지만, 사이트에서 업데이트할 수 있는 옵션이 제공되지 않으며, 업데이트를 위해 ./launcher rebuild app 명령을 사용해야 한다고 나와 있습니다.

이미 해당 명령을 실행했지만, 여전히 3.6.0 beta3 버전을 유지하고 있습니다.

컨테이너의 app.yml 파일에 설정된 브랜치는 다음과 같습니다.

##Which Git revision should this container use? (default: latest)
#version: latest

또한 ./launcher destroy app 명령을 실행한 후 다시 빌드했지만, 3.6.0 beta3가 현재 이미지인 것 같습니다.

여기서 무슨 일이 일어나고 있는지 알 수 있을까요? 제 생각에는 최신 이미지와 discourse 버전을 실행 중인 것 같은데, 여전히 중요한 업데이트가 필요하다는 메시지가 계속 뜨고 있습니다.

이번에는 재빌드 전에 git pull을 실행하세요

왜 필요한가요? 다시 빌드하면 get pull이 실행되지 않나요?

이 시점前后로 새로운 릴리스 명명 규칙으로의 전환과 관련하여 흥미로운 변경 사항들이 많았습니다:

이 빌드가 그 문제로 인해 발생한 것일 수 있으므로, git pull을 시도해 보시는 것이 좋습니다.

재빌드(rebuild)가 성공적으로 완료된 것인지 100% 확신하십니까? 오류 메시지는 없었나요?

성공적인 재빌드 이후에도 3.6.0.beta3에 머물러 있는 이유는 생각나지 않습니다 :thinking:

이것이 문제일 수 있다고 생각하지 않은 유일한 이유는, 분명히 여전히 “온라인” 상태였기 때문입니다… (재구축이 실패한 후에는 그런 상태가 아니었을 텐데요)

네, 맞습니다. 다만 기존 컨테이너를 종료하기 전에 런처 재구축이 실패하는 상황이 있을 수 있습니다(예: 머신의 디스크 공간 부족).

또 다른 권장 사항은 브라우저 콘솔을 열어 :information_source: 줄에 어떤 내용이 표시되는지 확인하는 것입니다. 버전 번호와 정확한 커밋 해시를 가리키는 링크가 포함되어 있어야 합니다.

네, 그리고 이 점과 관련하여 @raskulous 님, git pull로 해결되지 않는다면 재빌드 전에 확실하게 ./launcher cleanup app 명령도 실행해 보세요!

root@halflife /var/discourse (main) $ git pull
Already up to date.
root@halflife /var/discourse (main) $ ./launcher cleanup app
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
a58277545d443da8b94056b18921a1f1a075ba0e74cdae77796694c58a5d6906

Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:6ddbd1a96a1946ec6bb77c75bd76f6f90d4c4a8b724caeb0b6c66e09ddafd38d
deleted: sha256:adf730c0bcf566afc3c3d67d942d11f68644bfa2413d43878bf180dc5c697d23
deleted: sha256:818c4d787c1b1d6c9764a55ebd48660366aa4bf885b422a74b114ebdd27df5b7
deleted: sha256:59fed181a2fe6072d783d00cb165845de654160410e187e58fa7c227f08ba69a
untagged: discourse/base:2.0.20251003-1437
untagged: discourse/base@sha256:0db7c9b4598e2a1806658391669d791fd779aa4301fdfbed6a7f322bf64e66ab
deleted: sha256:e1f8b0b3fb45852cee16025371f9b0be02a1a1aecc300fde77394b40fb5a736d
deleted: sha256:d3efe4e5e3c3d2402e7a037be02ebf5ae755fc810b3598e51e343b84e763716f
deleted: sha256:cd092d63ff1918ba841ef29a3b58c68cea176d44080e7df9b7f347f00bd93b1a
deleted: sha256:5cbdf0ed25a8fe97bfbc24185d02c58844a57450a3f86fc7d5a558fd232ab4ab
deleted: sha256:403aa6c20a051b2d5c745dc7a435af9df41757d993a993e6631f899aa0bb486e
deleted: sha256:3afcd50bd91ec84e258277e9e23da6cac2427c0375a78df88946b79d30b1d44b
deleted: sha256:7489ca900cbd55786d357445f33a65b0b11e3261db274d58ccabe77bd4e0fe9d
deleted: sha256:71c52c9ead7800839744288a4af6d83d500532ea7f9855d524c6afa074c63a60
deleted: sha256:0b33a182fac1d26fef0bb788c3e866051abd1b3cd63086388f0fe8ff7c45941c
deleted: sha256:e5ccd79dd23e97a74c15ef20b17e01a70377f5832a260af90b6693f4508cbfa3
deleted: sha256:93abe37c16bdf7fef8141b1377f0ce0104afd44abb77b10f5ed79d9db83f5e9e
deleted: sha256:b904c7d18289155e7f30b6bf3c70f70b83cf7a30a64994953aaf208794757948
deleted: sha256:21071147a1da14eb4df3db0d8cab94e814fa732c13bb61e759300e5ac18abee7
deleted: sha256:990a81a661827e957f92dd3f2696b736dcb2a98abc25e5782768eeffbf5c7192
deleted: sha256:4cbf227e956f5b11ceeb5b55847d08727d947d2517219806a475586c84333ec3
deleted: sha256:2a2ac8595545fcf1c83ddb9fa2942e41aad400ab130dcd11a930b8b78a51f1b5
deleted: sha256:25297b21ea784d4feab472ca411628f2b828e54d491bfad343ba0ef7bdc445ca
deleted: sha256:0f8c3c379f72c1933ca5de2d8234d1d2e68ceb96a4f115e68bb219d6bf21529c
deleted: sha256:d3442f9b520eb026ed03bf55cc93bded85c44c219f195a7635b74153dce18ffa
deleted: sha256:f05243ffd6e01ff377d6565691221ef1cd11d37c7bedc8e2eaad478ae8668e1f
deleted: sha256:d4e8473543b3ac427ed2d3c0e6bd02e1bd67ae99487d88280ec6a93431c30d5f
deleted: sha256:99be84708bfcb1db25137b395dd37a1a7997ab8fc68bc3b0264fa1a59fbd824f
deleted: sha256:d1c4ec063756f9d4823e44c0531ec77a3a4f8867b1b6649243163ed0f2fd3ed5
deleted: sha256:29f68a6145ecb2ebf1ff0bc119cf56cd78af2e8736c3a10e78d96d75cc5e228f
deleted: sha256:57dc1b3ee11f2615b880d2f110c4780f41884e95a8ee5475fd4218a1f879b637
deleted: sha256:4e34d8cc8d9622192e7a4cb8fc70cba85837041ecf6bdf4e8d2ccb820aae70f5
deleted: sha256:54240fc4d72a665dd583c27d7af430dea2074964edfb1bc992e31c8e94dfa15a
deleted: sha256:9b2aac547dae88002b7826bea7dff202234919cce4295363035af4f1ad894c02
deleted: sha256:5d7d1eb160a4d66dfb5eb978a07dd9aa79f22c19450fa7486755062d799174d8
deleted: sha256:eb5f13bce9936c760b9fa73aeb1b608787daa36106cc888104132e353ed37252
untagged: discourse/base:2.0.20260209-1300
untagged: discourse/base@sha256:50d2dae489a9c9916c3d50d880f7f1282fcbe179339b60a8947ab135c1f1f9bf
deleted: sha256:024087fcba8d55efdce231c261ff2e8ab2d6c9df15a60e4f183d0dd8fc7d1758
deleted: sha256:cc071f07ff387f4836bbd81b14853ee4ec3778b2bfe7b4b46a920b1eb20f275a
deleted: sha256:01acad9c96eca87cdc72a29ce5181f21c23bdf7084de96fe441cc2e1f54d8c4e
deleted: sha256:15cff7c3d6efabf7261738c696fcb1b0b041e67113c883260cd632f5990f37a1

Total reclaimed space: 5.973GB

구체적인 오래된 이미지들을 많이 찾은 것 같아서 다행입니다. 하지만 재빌드 후에도 여전히 업데이트가 되지 않았습니다. 재빌드 출력에서 제가 볼 수 있는 오류는 없습니다.

더 자세한 정보를 위해 첨부해 드릴 로그가 있을까요? 제 rails 로그에는 다음과 같은 내용이 있습니다:

root@halflife /var/discourse (main) $ ./launcher enter app
x86_64 arch detected.
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
root@halflife-app:/var/www/discourse# cd /shared/log/rails
root@halflife-app:/shared/log/rails# ls -al
total 240
drwxr-xr-x 2 discourse www-data 4096 Feb 19 07:38 .
drwxr-xr-x 4 root root 4096 Nov 12 05:23 ..
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 production_errors.log
-rw-r–r-- 1 discourse www-data 20 Feb 13 07:40 production_errors.log-20260213.gz
-rw-r–r-- 1 discourse www-data 20 Feb 14 07:54 production_errors.log-20260214.gz
-rw-r–r-- 1 discourse www-data 20 Feb 15 07:46 production_errors.log-20260215.gz
-rw-r–r-- 1 discourse www-data 20 Feb 16 07:46 production_errors.log-20260216.gz
-rw-r–r-- 1 discourse www-data 20 Feb 17 07:45 production_errors.log-20260217.gz
-rw-r–r-- 1 discourse www-data 20 Feb 18 07:50 production_errors.log-20260218.gz
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 production_errors.log-20260219
-rw-r–r-- 1 discourse www-data 77488 Feb 19 22:05 production.log
-rw-r–r-- 1 discourse www-data 20 Feb 13 07:40 production.log-20260213.gz
-rw-r–r-- 1 discourse www-data 20 Feb 14 07:54 production.log-20260214.gz
-rw-r–r-- 1 discourse www-data 20 Feb 15 07:46 production.log-20260215.gz
-rw-r–r-- 1 discourse www-data 20 Feb 16 07:46 production.log-20260216.gz
-rw-r–r-- 1 discourse www-data 20 Feb 17 07:45 production.log-20260217.gz
-rw-r–r-- 1 discourse www-data 20 Feb 18 07:50 production.log-20260218.gz
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 production.log-20260219
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 sidekiq.log
-rw-r–r-- 1 discourse www-data 20 Feb 13 07:40 sidekiq.log-20260213.gz
-rw-r–r-- 1 discourse www-data 20 Feb 14 07:54 sidekiq.log-20260214.gz
-rw-r–r-- 1 discourse www-data 20 Feb 15 07:46 sidekiq.log-20260215.gz
-rw-r–r-- 1 discourse www-data 20 Feb 16 07:46 sidekiq.log-20260216.gz
-rw-r–r-- 1 discourse www-data 20 Feb 17 07:45 sidekiq.log-20260217.gz
-rw-r–r-- 1 discourse www-data 20 Feb 18 07:50 sidekiq.log-20260218.gz
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 sidekiq.log-20260219
-rw-r–r-- 1 discourse www-data 12701 Feb 19 18:02 unicorn.stderr.log
-rw-r–r-- 1 discourse www-data 20 Feb 13 07:40 unicorn.stderr.log-20260213.gz
-rw-r–r-- 1 discourse www-data 20 Feb 14 07:54 unicorn.stderr.log-20260214.gz
-rw-r–r-- 1 discourse www-data 20 Feb 15 07:46 unicorn.stderr.log-20260215.gz
-rw-r–r-- 1 discourse www-data 20 Feb 16 07:46 unicorn.stderr.log-20260216.gz
-rw-r–r-- 1 discourse www-data 20 Feb 17 07:45 unicorn.stderr.log-20260217.gz
-rw-r–r-- 1 discourse www-data 20 Feb 18 07:50 unicorn.stderr.log-20260218.gz
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 unicorn.stderr.log-20260219
-rw-r–r-- 1 discourse www-data 1543 Feb 19 18:02 unicorn.stdout.log
-rw-r–r-- 1 discourse www-data 20 Feb 13 07:40 unicorn.stdout.log-20260213.gz
-rw-r–r-- 1 discourse www-data 20 Feb 14 07:54 unicorn.stdout.log-20260214.gz
-rw-r–r-- 1 discourse www-data 14032 Feb 15 07:46 unicorn.stdout.log-20260215.gz
-rw-r–r-- 1 discourse www-data 20 Feb 16 07:46 unicorn.stdout.log-20260216.gz
-rw-r–r-- 1 discourse www-data 20 Feb 17 07:45 unicorn.stdout.log-20260217.gz
-rw-r–r-- 1 discourse www-data 20 Feb 18 07:50 unicorn.stdout.log-20260218.gz
-rw-r–r-- 1 discourse www-data 0 Feb 19 07:38 unicorn.stdout.log-20260219

./launcher rebuild app를 실행할 때 콘솔에 표시되는 재빌드 로그는 로그 파일이 아닙니다.

… 이 로그는 길지만, 이상적으로는 마지막 끝부분을 바로 확인하여 오류가 발생했는지 살펴보고, 오류가 있었다면 더 위쪽으로 올라가서 실제 오류를 찾아야 합니다.

네, 런처 재빌드 끝에 오류가 없고 정상적으로 시작됩니다.

마지막 몇 줄은 기존 컨테이너를 제거하고 새 컨테이너를 시작하는 부분인데, 여기에도 오류가 없습니다.

/var/discourse에서 git status를 실행해 주시겠어요?

root@halflife /var/discourse (main) $ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

@raskulous 이것도 확인해 보세요

ℹ️ Discourse v3.6.0.beta3-latest — https://github.com/discourse/discourse/commits/9bb15488bd — Ember v6.6.0

하지만…. 결국 제가 바보였네요.. 이 스레드를 무시해 주세요.

얼마 전 포럼을 전용 VM에서 일반 웹서버로 이전했는데, 그 사실을 잊고 있었습니다. 웹서버에서 업데이트를 진행했고, (Cloudflare 캐시 리셋 후) 정상적으로 업데이트되었습니다.

앞으로 다시 잊지 않도록 이 VM을 종료하는 것이 좋겠습니다.

모두의 시간을 낭비해서 정말 죄송합니다. 도움을 주셔서 감사합니다!

괜찮아, 해결된 것 같아 다행이야!