# 업그레이드 실패: FAILED TO BOOTSTRAP

**URL:** https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723
**Category:** Self-hosting
**Created:** [2월 18, 2022, 7:49오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723 "2022-02-18T19:49:10Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![burke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/burke/32/4211_2.png) [@burke](https://meta.discourse.org/u/burke)
#### Post date: [2월 18, 2022, 7:49오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/1 "2022-02-18T19:49:10Z")

</div>

Discourse 인스턴스를 업그레이드하던 중 `git pull`이 필요했는데, 오늘 `./launcher rebuild`를 실행하니 FAILED TO BOOTSTRAP 오류가 발생하고 있으며, 아직 실패 원인을 정확히 파악하지 못하고 있습니다.

저희는 Ubuntu 18.04에서 Discourse를 운영하고 있습니다. 오늘 업그레이드 전까지는 모든 것이 정상적으로 작동했습니다.

저희의 `app.yml` 파일은 `web.yml`로 명명되어 있으므로, 다음과 같이 실행했습니다:

```bash
# git pull
# ./launcher rebuild web

```

출력 결과의 마지막 부분은 다음과 같습니다:

```plaintext
I, [2022-02-18T19:25:46.155360 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
Discourse requires Redis 6.2.0 or up
I, [2022-02-18T19:25:55.644442 #1] INFO -- : gem install sawyer -v 0.8.2 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed sawyer-0.8.2
1 gem installed
gem install octokit -v 4.21.0 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed octokit-4.21.0
1 gem installed
 
 
 
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1121 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
85459e34ac2c6275dd1700de2c469124a9fded84800b8c6b4686c1c6b66824e2
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

```

[전체 출력 보기](https://pastebin.com/jBz6b0Mv)

현재 설치된 플러그인 목록은 다음과 같습니다:

```plaintext
discourse/docker_manager.git
discourse/discourse-github.git
discourse/discourse-solved.git
discourse/discourse-data-explorer.git
discourse/discourse-akismet.git
discourse/discourse-spoiler-alert.git
cpradio/discourse-plugin-replygif.git
discourse/discourse-push-notifications.git
discourse/discourse-chat-integration

```

Launcher 출력을 살펴봐도 실패를 유발하는 오류를 찾을 수 없습니다. 실패 원인에 대한 조언이 있을까요?

[이전 커밋](https://github.com/discourse/discourse_docker/commit/dc5b37c01131bfc42eb666ec2bc779433df309cb)으로 되돌려 최신 변경 사항 없이 웹 컨테이너를 성공적으로 재빌드할 수 있는지 확인해 보았지만, 여전히 부트스트랩 실패 오류가 발생합니다. 😕

**업데이트:**

저희는 [별도 컨테이너 설정](https://meta.discourse.org/t/linking-containers-for-a-multiple-container-setup/20867)을 사용 중이었으며, 이는 [권장되지 않는 방식](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/5?u=burke)으로 밝혀졌습니다. 또한 저희의 데이터 컨테이너는 매우 오래된 버전이었고 Redis v5.0.5를 실행 중이었습니다(Discourse는 현재 6.2.0 이상을 요구합니다). 따라서 데이터 컨테이너를 재빌드한 후 웹 컨테이너도 성공적으로 재빌드했습니다. 이번 경험을 바탕으로 향후에는 멀티 컨테이너 방식을 중단할 예정입니다.

매우 유용한 링크를 공유해 주신 @pfaffman님께 감사드립니다!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 18, 2022, 7:55오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/2 "2022-02-18T19:55:33Z")

</div>

> [@burke](#):
>
> ```plaintext
> Discourse requires Redis 6.2.0 or up
> 
> ```

어떤 Redis 버전을 사용하고 계신가요?

참고: [Skip Redis Version Check](https://meta.discourse.org/t/skip-redis-version-check/218480/)

---

<div class="post-metadata">

### Author: ![burke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/burke/32/4211_2.png) [@burke](https://meta.discourse.org/u/burke)
#### Post date: [2월 18, 2022, 8:09오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/3 "2022-02-18T20:09:40Z")

</div>

아, 그렇군요. 우리는 [discourse\_docker](https://github.com/discourse/discourse_docker/)를 [웹 컨테이너와 데이터 컨테이너를 연결한 상태](https://meta.discourse.org/t/linking-containers-for-a-multiple-container-setup/20867)로 실행하고 있으므로, Redis는 데이터 컨테이너 내에서 실행되고 있습니다.

데이터 컨테이너 내부에서:

```plaintext
# redis-server --version
Redis server v=5.0.5

```

그러니 이제 원인이 파악되었습니다. 데이터 컨테이너도 업그레이드해야 하는 것 같습니다. 이렇게 되니 조금 더 걱정되네요. 해당 요구사항은 언제 추가된 것일까요? 보강 인력(호주에 있는 사람들)이 깨서 업무 가능할 때까지 웹 컨테이너를 이전 버전으로 되돌릴 수 있을지 검토해 보겠습니다. 😉

---

<div class="post-metadata">

### Author: ![burke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/burke/32/4211_2.png) [@burke](https://meta.discourse.org/u/burke)
#### Post date: [2월 18, 2022, 8:14오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/4 "2022-02-18T20:14:18Z")

</div>

와. [git 히스토리](https://github.com/discourse/discourse_docker/blame/776a4f3a66535407132ede6a5244e430888727f4/image/base/install-redis#L5)를 살펴보니 Redis 버전이 5.x 범위를 벗어난 지 벌써 2년이 된 것 같습니다! 하지만 그동안 git pull을 포함해 몇 번의 성공적인 업그레이드를 수행한 적이 있다는 점은 알고 있습니다.

[Redis 버전 확인 건너뛰기](https://meta.discourse.org/t/skip-redis-version-check/218480/)에 따르면, 최근에 해당 요구 사항이 강제되기 시작한 것으로 보입니다. 금요일에 이미 꽤 큰 문제를 야기했으니, 도움 없이 데이터 컨테이너 업그레이드를 시도하고 싶지 않습니다… 그래서 당분간 Redis 요구 사항이 강제되지 않는 상태로 돌아가기 위해 docker\_discourse의 더 이전 버전으로 되돌려보려 합니다. (데이터 컨테이너를 업데이트할 수 있을 때까지)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2월 18, 2022, 8:42오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/5 "2022-02-18T20:42:54Z")

</div>

> [@burke](#):
>
> docker\_discourse의 더 이전 버전으로 되돌려 보겠습니다.

그렇게는 작동하지 않습니다. 해당 체크는 메인 저장소에서 이루어지기 때문입니다. 데이터 컨테이너를 여러 해 동안 업데이트하지 않는 것은 좋지 않은 선택입니다. 해당 기간 동안 성능 및 보안 관련 수정 사항을 여러 번 배포했기 때문입니다.

따라서 저는 별도 컨테이너 구성을 권장하지 않는 또 다른 이유를 들었습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 18, 2022, 9:26오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/6 "2022-02-18T21:26:03Z")

</div>

데이터 컨테이너를 다시 구축해야 합니다. 또한 [PostgreSQL 13 업데이트](https://meta.discourse.org/t/postgresql-13-update/172563)도 참고하세요.

---

<div class="post-metadata">

### Author: ![burke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/burke/32/4211_2.png) [@burke](https://meta.discourse.org/u/burke)
#### Post date: [2월 18, 2022, 9:27오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/7 "2022-02-18T21:27:26Z")

</div>

감사합니다. 지금 바로 Postgres 업그레이드를 기다리고 있습니다. 🙂

Postgres 13 업데이트 팁 링크도 감사합니다. 정말 도움이 됩니다!

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [3월 20, 2022, 9:27오후 UTC](https://meta.discourse.org/t/upgrade-failing-with-failed-to-bootstrap/218723/8 "2022-03-20T21:27:32Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
