Discourse에서 사용하는 모든 정적 자산(js, css) 수집 방법

정말 감사합니다. 또한 일부 정적 자산(CSS 등)은 /var/www/discourse/tmp/stylesheet-cache에 저장되는 것을 확인했습니다. 하지만 두 가지 다른 문제가 있습니다:

  1. DISCOURSE_CDN_URL을 설정한 후에도 사용자가 업로드한 아바타와 같은 자산은 CDN을 통해 서빙됩니다. 그러나 사용자가 업로드할 때마다 업로드 자산을 GitHub에 푸시하는 것은 좋은 해결책이 아닙니다.
  2. Discourse가 2_2.png와 같은 user_avatar를 요청할 때, 1) 파일 이름을 분리하고, 2) 몇 가지 검사를 수행하며, 3) 해시를 사용하여 실제 파일 이름을 계산합니다. 2_2.png라는 이름의 파일이 없으므로 사용자 아바타를 서빙하려면 동일한 로직을 직접 구현해야 합니다.

제 최종 해결책은 간단합니다. 1) 이 게시글(Run other websites on the same machine as Discourse)과 유사하게 포럼 앞에 Nginx를 추가했습니다. 2) 위의 경로에서 모든 정적 자산을 수집하여 GitHub에 푸시했습니다. 3) Nginx 설정 파일에 다음과 같은 규칙을 추가했습니다.

location ~/(stylesheets|assets) {
    return 301 https://cdn.jsdelivr.net/gh/my_github/my_repo/$request_uri;
}

다시 한번 감사합니다 @schleifer