그 말이 더 일리 있습니다. 부트스트랩 단계를 2단계로 분리할 때 제가 취했던 방식이 바로 그것입니다. 1단계는 격리된 환경(예: CI 파이프라인)에서 실행되어 Discourse 저장소, gems, 플러그인이 설치된 베이스 이미지를 생성할 수 있습니다. 2단계는 DB 마이그레이션과 에셋 생성을 수행해야 하므로 대상 머신에서 실행되어야 합니다(또는 적어도 프로덕션 데이터베이스에 접근할 수 있어야 합니다). 참고로 이는 컨테이너가 시작될 때가 아니라 부트스트랩 과정에서 수행됩니다.
네, 그렇게 되면 정말 좋을 것입니다. 이미 이를 요청한 적이 있습니다만, 언제 이것이 이루어질지는 모르겠습니다.
에셋 프리컴파일 작업이 데이터베이스(예: 커스텀 CSS 등)에 접근해야 하므로 완전히 격리된 환경에서 구현하기는 어려울 것입니다. 하지만 데이터베이스에 의존하는 부분만 별도의 단계로 수행할 수 있다면, 데이터베이스에 의존하지 않는 다른 에셋은 별도로 프리컴파일할 수 있을 것입니다. 다만 기술적으로 이를 구현하는 것이 얼마나 실현 가능한지는 모르겠습니다.