SSH 키를 사용하여 사설 저장소에 호스팅된 Discourse 플러그인을 설치하는 방법?

자체 호스팅 사이트에서 플러그인을 설치하는 공식 Discourse 가이드(공식 튜토리얼)를 따랐지만, 이 가이드는 2014년에 작성된 것으로 현재 많은 정보가 구식일 가능성이 높다고 생각합니다.

또한, 토론 댓글에서 권장된 비교적 최신 해결책 중 일부, 예를 들어 볼륨을 통해 SSH 키를 마운트하고 부트스트랩 과정에서 SSH 액세스를 구성하는 방법도 시도해 보았습니다. 그러나 이러한 노력에도 불구하고 여전히 SSH를 사용하여 사설 Git 저장소에서 플러그인을 클론하고 설치하지 못했습니다.

사설 저장소에서 SSH 키를 사용해 Discourse 플러그인을 설치하는 최신 작동 방법이나 모범 사례를 알고 계신 분이라면, 여러분의 조언을 간절히 부탁드립니다.

Discourse 부트스트랩 과정에서 GitHub에서 다시 가져오지 않도록, 플러그인 파일을 미리 서버에 직접 다운로드할 수 있는 방법이 있을까요?

이것은 여전히 유효한 방법입니다.

저는 항상 이렇게 사용하고 있습니다.

다음을 /plugins 폴더로 직접 클론한 후 필요한 마이그레이션을 실행하면 되겠지만, 그렇게 하면 플러그인 업데이트를 받지 못할 수 있습니다.

감사합니다! 그런데 SSH를 선호하는 이유는 OAuth 토큰은 읽기 권한과 쓰기 권한을 분리할 수 없기 때문입니다. 항상 필요한 것보다 더 많은 접근 권한이 함께 부여됩니다.

SSH를 사용하면 읽기 전용 배포 키를 생성할 수 있으며, 이는 더 안전하고 최소 권한 원칙에 더 부합합니다.

좋은 제안 감사합니다!

실제로 플러그인을 /var/www/discourse/plugins 경로로 직접 클론해 보았지만, 플러그인 폴더를 호스트에서 컨테이너 내 해당 경로로 마운트한 경우를 제외하고는 작동하지 않았습니다.

부트스트랩 과정에서 Discourse가 Git을 통해 플러그인을 가져오도록 기대하는 것 같고, 플러그인 파일을 수동으로 배치하는 것만으로는 이 단계를 우회할 수 없는 것 같습니다.

이 방법으로 성공하신 경험이 있다면, 더 자세한 내용을 듣고 싶습니다.

기억이 맞다면 직접 클론을 생성할 때 문제가 발생한다고 들었습니다(이 글을 참고해 주세요). 그래서 토큰을 사용해 클론을 생성하는 것이 권장되는 방식입니다.

하지만 SSH 키를 사용하시려면 아래 방법을 시도해 보시는 것이 좋겠습니다:

감사합니다. 하지만 링크해 주신 공식 2014년 가이드에 설명된 방법을 이미 시도해 보았으며, 부트스트랩 과정에서 SSH 키를 사용하여 비공개 저장소에 액세스하는 경우 더 이상 작동하지 않는다는 것을 확인했습니다.

또한, 댓글 중 하나에서 언급된 새로운 접근 방식(SSH 키를 컨테이너에 마운트하고 after_code에서 core.sshCommand를 설정하는 방법)도 시도해 보았지만, 불행히도 제 경우에도 실패했습니다. Discourse가 비공개 플러그인을 클론할 때 여전히 SSH 권한 오류를 발생시키고 있습니다.

현재 프로덕션 환경에서 SSH를 사용하여 비공개 저장소를 안정적으로 사용할 수 있는 방법이 있다면, 더 최신인 가이드라인을 제공해 주시면 정말 감사하겠습니다.

로컬에 클론을 해서 플러그인 디렉터리에 마운트하거나, 임시 마운트에서 플러그인 디렉터리로 복사하는 방법도 있습니다.

예전에는 자격 증명이 URL에 내장된 GitHub URL을 얻을 수 있었습니다. 저는 이전에 그렇게 해본 적이 있습니다.