Portainer에서 Docker로 Discourse 설치하기

안녕하세요,

Portainer를 사용하여 Discourse를 설치하려고 시도하고 있지만 문제가 발생하고 있습니다. 시도할 때마다 다음과 같은 오류 메시지가 표시됩니다:

“Failed to deploy a stack: postgres Pulling app Pulling redis Pulling web Pulling sidekiq Pulling…”

이 링크(https://lab.libreho.st/libre.sh/compose/discourse/-/blob/master/docker-compose.yml?ref\_type=heads)의 Docker Compose 파일을 사용했습니다.

이 문제에 대해 조언을 주실 수 있을까요?

감사합니다.

검색을 해보시면 실패한 다른 사용자들도 몇 명 보실 수 있습니다. 저는 누군가가 성공한 것 같은 걸 본 적이 있어서, 저보다 더 많은 게시물을 확인해 보셨을 수도 있습니다.

동작하는 솔루션을 원하고 지원도 받고 싶다면 Docker를 사용하세요.

하지만 hey, Portainer는 정확히 Docker 위에 있는 GUI입니다. 그런데 대부분의 사람들이 실패하고, 지원팀의 답변은 '문서가 부족하므로 전용 서버를 사용하거나 클라우드 버전을 구매하세요’뿐이라면, 뭔가 이상하게 느껴집니다.

사실 우리는 Docker를 사용하고 있습니다. 많은 사람들이 Docker를 사용하지만, 아무도 이유를 모른 채로 지원받지 못하고 있습니다. 같은 문제가 제기된 지원 게시판에는 답변이 없거나, "비슷한 질문이 많이 보이니 게시 전에 검색을 해보세요."라는 식의 답변이 달립니다. 네, 비슷한 질문들인데 답변은 없습니다. 그리고 누군가가 불평을 시작하면, *“아아, 작동이 안 돼요? 너무 안타깝네요. 아마도 기술적으로 충분히 능숙하지 못한 것 같습니다. 여기, 미리 결제된 플랜을 써보세요”*라는 식이죠.

저는 심지어 Docker가 설치된 전용 서버를 만들고, 그 위에 Discourse를 설치한 뒤 Portainer를 추가로 설치하고, docker compose로 전체 설정을 복제해 보았지만, 완전히 실패했습니다. 마치 가짜 난독화(pseudo-obfuscation)를 한 것 같습니다. 뭐, 그렇죠, MIT 라이선스이긴 하지만 일부 세부 사항이 제외되어 있거든요.

네, 네, 오픈소스이고 누구도 누구에게 무엇을 빚진 않으며, 전부 자발적이고 선의에 기반한 것이긴 하지만, 어쨌든. 명확히 하자면, 성공한 사람을 찾았지만 대화는 짧았습니다: "해결책을 위해 돈을 지불했으니, 내가 직접 500달러에 팔겠다"고 하더군요. 그래서 선택지는 이것입니다: 공식에서 구매하거나, 어떤 개인에게서 구매하거나, 아니면 단순히 이 제품 하나만을 위해 전용 서버를 사용하는 것.

정말 다른 선택지가 없다면, 문서에 명시하는 것이 어떨까요? "설치를 위한 Docker와 하드웨어 요구사항"만 적는 것이 아니라, 이 제품을 위해 서버 전체를 단독으로 사용해야 하며, Discourse를 다른 것의 일부로 사용할 수 없다는 점을 강력하게 언급해야 합니다. 이런 결론은 많은 답변되지 않은 질문들을 없애고, "이론적으로는 가능하고, 여기 문서 있으니 검색하세요"라는 개념을 "불가능합니다"로 바꿀 수 있을 것입니다.

또는, “우리가 사용하지 않는 도구들을 사용하려고 해서 작동하지 않는 건가요? 왜 그런지 추측할 수 없습니다. 우리가 사용하고 테스트하는 도구와 가장 비슷한 도구를 사용해야 작동할 가능성이 더 높고, 우리가 도움을 줄 가능성도 더 커집니다.”라고 할 수 있습니다.

문제는 “docker와 launcher로 이미지를 빌드하고, 저장소에 push한 후, portainer로 실행한다”는 것만큼 간단할 수 있습니다. 그리고 문제는 하나의 ENV 변수를 설정하지 않았거나, 네트워크와 라우팅과 관련된 수십 가지 다른 사소한 것들 중 하나일 수 있으며, 그 중 어느 하나라도 코드 한 줄로 해결될 수 있습니다. 하지만 여기 있는 사람들이 사용하지 않는 도구들을 사용하면서 어떤 코드 줄인지 파악하는 것은 쉬운 일이 아닙니다.

표준 설치(Standard Install)는 시스템 관리에 대해 아무것도 모르는 많은 사람들에게 작동합니다. 리버스 프록시를 구성하는 것은 작업을 최소 4배 더 어렵게 만들며, 포럼을 통해 지원하는 것도 더 어렵게 만듭니다.

그것을 근거로 말씀하시는 건가요? 비공식적으로 지원되지 않는 구성에 대한 일반적인 응답은 표준 설치 방식을 시도해 보라는 것입니다. 이는 CDCK에 비용을 지불하지 않고도 누구나 Discourse를 실행할 수 있게 해주기 때문입니다.

여기서는 의도를 좀 더 따져봐야 할 것 같습니다… 표준 설치는 Docker를 사용하는 커스텀 런처에 의존합니다. 이는 다양한 이유로 존재하며, 그 중 하나는 기술적 경험이 전혀 없는 사용자라도 단계를 따라 30분 이내로 실행에 옮길 수 있다는 단순한 사실입니다.

Docker에 대해 잘 아신다면 그 경로로 진행하셔도 됩니다. 하지만 여러분의 특정 구성에 대해 도움을 줄 수 있다는 보장은 없습니다. 그래서 unsupported-install(비공식 설치) 태그가 붙는 것입니다. 무료 커뮤니티 기반 지원의 특성상, 지원 범위가 제한되지 않으면 전반적인 조언의 품질과 성공률이 떨어지게 됩니다.

위 내용에 무엇이 잘못된 것인지 설명해 주실 수 있나요? 희소한 전문성을 개발하기 위해 돈을 지불한 경우, 그 전문성에 가치가 없다고 할 수 있을까요?