디스크가 가득 찼을 때 Discourse 복구

AWS EC2 인스턴스(16GB)의 디스크 공간이 부족해졌습니다. 공간을 확보하기 위해 rm -rf /var/lib/docker/overlay2와 journalctl --vacuum-time=10d 명령을 실행했고, 이제 df 명령으로 확인한 결과 7GB의 여유 공간이 있습니다. 인스턴스를 재부팅한 후 페이지에 연결하려고 하면 Connection refused 오류가 발생합니다.

sudo ./launcher rebuild app을 시도해 보았지만, 디스크 공간이 5GB 미만이라는 오류 메시지와 함께 실패합니다.

어떤 해결 방법이 있을까요?

다음과 같이 시도해 보세요.

./launcher cleanup

25GB가 일반적으로 권장되는 최소 용량입니다. 현재 할당량으로 다시 실행할 수 있더라도, 볼륨이 이렇게 작으면 다시 같은 문제가 발생할 것입니다.

참고로, Hetzner의 최저 등급은 20GB만 제공하지만, 저에게는 충분했습니다. 업그레이드를 시도하기 전에 백업 디렉터리를 정리하는 것이 도움이 될 수 있습니다. 물론, 안전을 위해 새로운 백업을 생성하고 다른 곳에 복사한 후에 말입니다. (작은 포럼이라 백업 크기가 120MB입니다.)

다른 경우로는 Digital Ocean의 최저 등급을 사용하는데, 여기서는 25GB를 제공합니다. 이 경우 포럼 백업 크기는 640MB입니다.

문제가 생긴 적은 한 번뿐이었는데, 저널(journal) 관련 문제였습니다. 하지만 그 크기를 크게 줄였습니다:

# journalctl --disk-usage
Archived and active journals take up 104.0M in the file system.

네, 디스크 크기를 늘렸고 이제 discourse-doctor에서는 40G(사용률 29%)로 표시되므로 공간 문제는 더 이상 아닙니다. Discourse를 정상적으로 실행하는 데 도움이 필요합니다.

sudo ./launcher start app을 실행하면 다음과 같이 실패합니다:
Unable to find image 'local_discourse/app:latest' locally

sudo launcher rebuild app 실행 시 발생한 오류 출력은 여기에 있습니다.

이 문제를 어떻게 해결할 수 있을까요?

네, app.yml에서 "templates/postgres.template.yml"을 "templates/postgres.10.template.yml"로 변경해서 sudo launcher rebuild app을 실행하는 데 성공했습니다.

이 변경 사항을 그대로 두어야 할까요, 아니면 되돌려서 다시 빌드를 시도해야 할까요?

I think you need to visit the postgres update thread and ask for help…

1. UPGRADE OF POSTGRES FAILED

 * Please visit https://meta.discourse.org/t/postgresql-12-update/151236 for support