Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

개요

LibreChat 배포 소개 및 다양한 호스팅 및 네트워크 서비스 비교

LibreChat 배포를 위한 입문 가이드에 오신 것을 환영합니다. 이 문서는 비교 표와 상세 가이드에 대한 참조를 포함하여 초기 개요를 제공하며, 배포 전략에 대한 철저한 이해를 돕습니다.

이 가이드에서는 특정 요구 사항에 맞춰 다양한 환경에서 LibreChat을 효율적으로 배포하기 위한 여러 옵션을 살펴봅니다.

최소 요구 사항

LibreChat을 실행하기 위한 최소 요구 사항:

  • 1 GiB RAM
  • 1 vCPU

참고: 모든 기능을 활성화할 경우, 더 원활한 작동을 위해 RAM을 2GB로 늘리는 것을 고려해 보세요.

비교 표

"Recommended" 라벨은 해당 서비스들이 문서화가 잘 되어 있고, 커뮤니티 내에서 널리 사용되며, 상당수의 사용자에 의해 성공적으로 배포되었음을 나타냅니다. 결과적으로, 저희는 이러한 서비스들에 LibreChat을 배포하는 것에 대해 더 나은 지원을 제공할 수 있습니다.

호스팅 서비스

서비스도메인장점단점코멘트추천
DigitalOcean클라우드 인프라직관적인 인터페이스, 안정적인 가격상대적으로 작은 네트워크 범위애호가 및 중소기업에 최적✅ 잘 알려짐, 신뢰성 높음
HuggingFaceAI/ML 솔루션ML/NLP 특화ML 애플리케이션에 집중됨AI/ML 이니셔티브에 탁월✅ 무료
Railway앱 배포간소화된 앱 배포컨테이너에 대한 제한된 접근시작하기 매우 쉬움✅ 쉬움

네트워크 서비스

서비스도메인장점단점코멘트
Cloudflare웹 성능 및 보안글로벌 CDN, DDoS 방어, 사용 편의성고객 지원이 느릴 수 있음보안 강화를 위한 최고의 선택
Nginx웹 서버, 리버스 프록시고성능, 안정성, 리소스 효율성수동 설정, 제한된 확장 기능성능 덕분에 호스팅에 널리 사용됨
ngrok보안 터널링사용하기 쉬움, 무료 티어 제공, 보안 터널링클라이언트 다운로드 필요, 복잡한 도메인 라우팅로컬 개발 테스트에 유용
Traefik리버스 프록시, 로드 밸런서자동 서비스 검색, 네이티브 클러스터 지원초보자에게는 설정이 복잡할 수 있음마이크로서비스 및 동적 환경에 이상적

Cloudflare는 인터넷 서비스를 가속화하고 보호하는 광범위한 네트워크로 잘 알려져 있으며, 직관적인 사용자 인터페이스와 프리미엄 플랜에서 제공하는 강력한 보안 옵션을 갖추고 있습니다.

Ngrok은 단순함과 로컬 서버를 인터넷에 빠르게 노출할 수 있는 기능으로 높이 평가받으며, 데모 및 테스트에 이상적입니다.

Nginx는 리소스 처리가 효율적이고 안정성을 제공하는 고성능 웹 서버입니다. 하지만 수동 설정이 필요하며 다른 서버에 비해 모듈과 확장 기능이 적습니다.

Traefik은 자동 구성 업데이트와 컨테이너 환경에서의 배포 용이성으로 잘 알려져 있으며, 다양한 백엔드와의 통합 및 동적 재구성 기능 덕분에 DevOps 팀에게 인기가 많습니다. 마이크로서비스 아키텍처에서 뛰어난 성능을 발휘하지만, 클라우드 네이티브 기술을 처음 접하는 사용자에게는 다소 어려울 수 있습니다.

클라우드 공급업체 통합 및 구성

클라우드 공급업체와의 통합 수준은 다양합니다. Railway와 같이 클릭 한 번으로 LibreChat을 배포할 수 있는 플랫폼부터, Azure와 Terraform처럼 IaC(Infrastructure as Code) 도구를 활용하는 플랫폼, 그리고 DigitalOcean, Linode, Hetzner와 같이 수동 구성이 필요한 전통적인 VM 설정 방식까지 폭넓게 지원합니다.

필수 보안 고려 사항

디지털 환경을 탐색하다 보면 온라인 자산의 보안과 무결성에 대한 수많은 위협이 드러납니다. 디지털 영역을 보호하려면 강력한 보안 조치를 구현하는 것이 중요합니다.

애플리케이션을 전 세계적인 규모로 배포할 때는 디지털 자산을 보호하기 위해 다음의 핵심 요소를 고려하는 것이 필수적입니다:

  1. 전송 중인 데이터 암호화: SSL 인증서를 사용하여 HTTPS를 구현하는 것은 가로채기 및 도청 공격으로부터 데이터를 보호하는 데 필수적입니다.
  2. 전 세계적인 접근성 영향: 지역마다 다른 법적 및 규정 준수 요구 사항을 포함하여, 애플리케이션을 전 세계에 배포할 때 발생하는 영향을 이해하십시오.
  3. 보안 구성: 보안 프로토콜, 보안 인증 및 권한 부여 메커니즘 사용을 포함하여 애플리케이션이 안전하게 구성되었는지 확인하십시오.

IaaS 또는 Tunnel 서비스를 배포에 사용하기로 선택한 경우, Nginx, Traefik 또는 Cloudflare와 같은 리버스 프록시를 활용해야 할 수도 있습니다.

적절한 보안 조치에 투자하는 것은 디지털 자산을 보호하고 글로벌 배포의 성공을 보장하는 데 매우 중요합니다.

클라우드 공급업체(예: 플랫폼) 선택하기

"실제 배포"를 위한 클라우드 공급업체를 선택하는 것은 비용, 성능, 보안 및 확장성에 영향을 미치므로 매우 중요합니다. 데이터 센터 위치, 업계 표준 준수 여부, 기존 도구와의 호환성, 고객 지원과 같은 요소를 고려해야 합니다.

다양한 측면에서 차이가 있는 많은 옵션이 존재합니다. 이 섹션에서는 팀과 커뮤니티에서 사용하는 몇 가지 옵션을 확인할 수 있으며, 이는 첫 배포에 도움이 될 것입니다.

애플리케이션 사용 현황과 사용자에 대해 더 많은 지식을 얻게 되면, 장기적으로 어떤 클라우드 공급업체가 가장 적합한지 결정할 수 있게 될 것입니다.

언급했듯이 클라우드 제공업체/플랫폼은 여러 측면에서 차이가 있습니다. 우리의 목적을 위해 귀하의 주요 관심사는 사용 편의성, 보안 및 (초기) 비용이라고 가정할 수 있습니다. 확장성, 특정 플랫폼에 대한 이전 경험 또는 기타 특정 기능과 같은 더 많은 고려 사항이 있는 경우, 귀하에게 적합한 플랫폼을 이미 잘 알고 계실 것이며 특정 가이드를 따르지 않고도 원하는 정보로 바로 이동하실 수 있습니다.

사용자의 요구에 맞는 적절한 배포 옵션 선택하기

배포 옵션은 가장 많은 노력과 제어가 필요한 순서부터 가장 적은 노력과 제어가 필요한 순서대로 나열되어 있습니다.

각 배포 옵션에는 장단점이 있으며, 선택은 궁극적으로 프로젝트의 구체적인 요구 사항에 따라 달라집니다.

1. IaaS (Infrastructure as a Service)

Infrastructure as a Service (IaaS)는 가상 서버, 네트워크, 스토리지와 같은 기본적인 컴퓨팅 자원을 사용한 만큼 지불하는 방식으로 제공하는 클라우드 컴퓨팅 모델을 의미합니다. IaaS를 통해 조직은 물리적 하드웨어에 투자하거나 유지 관리할 필요 없이 인터넷을 통해 이러한 자원을 대여하고 액세스할 수 있습니다. 이 모델은 확장성, 유연성, 비용 절감 효과를 제공하며, 변화하는 비즈니스 요구에 대응하여 인프라 자원을 신속하고 쉽게 배포 및 관리할 수 있는 능력을 제공합니다.

  • DigitalOcean: 예측 가능한 가격 책정과 사용자 친화적인 인터페이스를 제공합니다.
  • Linode: 뛰어난 고객 지원과 직관적인 가격 정책으로 유명합니다.

IaaS의 경우 Docker Compose를 권장합니다

왜 Docker Compose인가요? 일관된 배포를 위해 Docker Compose를 권장합니다. 이 가이드는 쉬운 배포를 위해 각 단계를 명확하게 설명합니다: Docker - Linux 원격 설치 가이드

참고: 저장소에는 두 개의 docker compose 파일이 있습니다.

  1. 개발 지향적 docker compose docker-compose.yml
  2. 배포 지향 docker compose deploy-compose.yml

주요 차이점은 deploy-compose.yml에 Nginx가 포함되어 있어, 해당 설정이 Docker 내부에서 이루어진다는 점입니다.

더 자세한 정보는 Nginx Guide를 확인하세요.

2. IaC (Infrastructure as Code)

Infrastructure as Code (IaC)는 물리적 하드웨어 구성이나 대화형 구성 도구를 사용하는 대신, 기계가 읽을 수 있는 정의 파일을 통해 컴퓨팅 인프라를 관리하고 프로비저닝하는 관행을 의미합니다. 이러한 접근 방식은 특히 현대 클라우드 환경에서 재현성, 폐기 가능성 및 확장성을 촉진합니다. IaC를 사용하면 인프라 배포, 구성 및 관리를 자동화할 수 있으며, 결과적으로 더 빠르고 일관되며 신뢰할 수 있는 리소스 프로비저닝이 가능해집니다.

  • Azure: 기업 수준의 배포에 적합한 포괄적인 서비스

참고: Digital Ocean, Linode, Hetzner 또한 IaC를 지원합니다. 현재 구체적인 가이드는 없지만, Terraform용 Azure 가이드를 참고하여 적용해 보시고 개선을 위해 기여해 주시면 감사하겠습니다.

3. PaaS (Platform as a Service)

Platform as a Service (PaaS)는 클라우드에서 개발 및 배포 환경을 제공하는 클라우드 컴퓨팅 모델입니다. 이는 개발자가 기본 인프라를 관리할 필요 없이 애플리케이션을 구축, 테스트 및 배포할 수 있는 플랫폼을 제공합니다. PaaS는 일반적으로 데이터베이스, 미들웨어, 개발 도구와 같은 다양한 리소스를 포함하며, 사용자가 간단한 클라우드 기반 앱부터 복잡한 엔터프라이즈 애플리케이션까지 제공할 수 있도록 지원합니다. 이 모델은 서비스 제공업체가 인프라 유지를 책임지고 고객은 애플리케이션 구축, 배포 및 관리에 집중할 수 있게 함으로써, 시장 출시 기간 단축, 비용 절감, 유지 관리 및 확장 용이성을 제공합니다.

  • Hugging Face: 머신 러닝 및 NLP 프로젝트에 최적화되어 있습니다.
  • Render: 통합된 CI/CD 파이프라인으로 배포를 간소화합니다.
  • Heroku: 스타트업 및 빠른 배포 시나리오에 최적입니다.

4. 원클릭 배포 (PaaS)

  • Railway: 인기 있는 원클릭 배포 솔루션
  • Zeabur: 간편한 원클릭 배포 솔루션을 선도합니다.

기타 / 네트워크 서비스

1. Tunneling

터널링 서비스를 사용하면 로컬 개발 서버를 인터넷에 노출하여 공개 URL을 통해 액세스할 수 있습니다. 이는 작업을 공유하거나, 테스트하거나, 타사 서비스와 통합할 때 특히 유용합니다. 이를 통해 테스트 또는 온프레미스 설치를 위해 개발 컴퓨터를 배포할 수 있습니다.

  • Ngrok: 인터넷으로의 안전한 로컬 터널링을 지원합니다.
  • Cloudflare: 웹 성능 및 보안을 향상합니다.

2. DNS 서비스

  • Cloudflare DNS 서비스는 사람이 읽을 수 있는 도메인 이름을 기계가 읽을 수 있는 IP 주소로 변환하여 인터넷 트래픽을 올바른 목적지로 관리하고 라우팅하는 데 사용됩니다. Cloudflare는 보안, 성능, 안정성과 같은 광범위한 기능을 제공하는 이 서비스의 공급자입니다. Cloudflare DNS 서비스는 DNS 레코드를 관리하기 위한 사용자 친화적인 인터페이스를 제공하며, 트래픽 관리, DNSSEC, DDoS 보호와 같은 고급 기능을 제공합니다.

참고: Cloudflare 가이드

결론

결론적으로, 본 배포 가이드의 도입부에서는 LibreChat을 배포하기 위한 다양한 옵션과 고려 사항에 대한 개요를 제공합니다. 귀하의 요구 사항을 신중하게 평가하고 조직의 목표 및 목적에 가장 부합하는 경로를 선택하는 것이 중요합니다. 사용 편의성, 보안, 경제성 중 무엇을 우선시하든, 본 가이드는 귀하가 LibreChat을 성공적으로 배포하고 원하는 결과를 얻을 수 있도록 돕는 데 필요한 정보를 제공합니다. 이 가이드가 귀하의 배포 여정 전반에 걸쳐 유용한 자원이 되기를 바랍니다.

기억하세요, 저희 커뮤니티가 여러분을 돕기 위해 여기 있습니다. 어려움이 있거나 궁금한 점이 있으시면, Discord 채널문제 해결 토론을 통해 지원과 조언을 받으실 수 있습니다.

이 가이드는 어떤가요?