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

Docker

Docker를 사용하여 LibreChat을 로컬에 설치하고, 설정을 확인하며, 사용자 지정 endpoint를 구성하는 방법

대부분의 시나리오에서 Docker Compose는 단순성, 사용 편의성 및 신뢰성으로 인해 권장되는 설치 방법입니다.

필수 조건

대부분의 사용자에게는 Docker Desktop을 권장합니다. 원격 서버 설치의 경우, Ubuntu Docker Deployment Guide를 참조하세요.

Apple Silicon (M-series) Mac

Apple Silicon(M1, M2, M3, M4) 프로세서가 탑재된 Mac 컴퓨터는 LibreChat의 Docker Compose 설정에서 기본적으로 사용하는 MongoDB 이미지에 필요한 AVX 명령어를 지원하지 않습니다. M 시리즈 Mac을 사용하는 경우, MongoDB가 시작 시 충돌하게 됩니다.

수정: docker-compose.override.yml 파일을 생성하여 더 오래된 호환 가능한 MongoDB 이미지를 사용하세요:

services:
  mongodb:
    image: mongo:4.4.18

자세한 내용은 Docker Override 가이드를 참조하세요.

설치

저장소 복제 (Clone the Repository)

git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat

환경 파일 생성하기

cp .env.example .env

기본 .env 파일은 기본적인 설정으로 바로 사용할 수 있습니다. 심층적인 구성을 원하시면 .env 참조를 확인하세요.

Windows

Windows에서는 cp를 사용할 수 없는 경우 copy .env.example .env를 사용하세요.

LibreChat 시작하기

docker compose up -d

첫 실행 시 Docker 이미지를 가져오므로 몇 분 정도 소요될 수 있습니다. 이후 실행은 훨씬 빠릅니다.

확인 및 로그인

브라우저를 열고 http://localhost:3080에 접속하세요. LibreChat 로그인 페이지가 나타날 것입니다.

첫 번째 계정 = 관리자

가장 먼저 등록하는 계정이 관리자 계정이 됩니다. 기본 자격 증명은 없으며, 등록 과정에서 직접 사용자 이름과 비밀번호를 생성하게 됩니다.

Register를 클릭하여 계정을 생성하고 LibreChat 사용을 시작하세요.

librechat.yaml 마운트하기

Docker에서 사용자 지정 librechat.yaml 구성 파일을 사용하려면, 컨테이너가 해당 파일에 접근할 수 있도록 볼륨으로 마운트해야 합니다.

예제 오버라이드 파일을 복사하고 편집하세요:

cp docker-compose.override.yml.example docker-compose.override.yml

docker-compose.override.yml에서 librechat.yaml 볼륨 마운트의 주석 처리가 해제되어 있는지 확인하세요:

services:
  api:
    volumes:
      - type: bind
        source: ./librechat.yaml
        target: /app/librechat.yaml

변경 사항을 적용하려면 다시 시작하세요:

docker compose down && docker compose up -d

파일을 처음부터 생성하는 방법을 포함한 전체 설정 지침은 librechat.yaml 가이드를 참조하세요. 더 많은 재정의 옵션은 Docker 재정의 가이드를 참조하세요.

LibreChat 업데이트

다음 명령어들은 docker compose 파일에 필요한 변경 사항을 포함하여 최신 LibreChat 프로젝트 변경 사항과 최신 사전 빌드된 이미지를 가져옵니다.

권한

사용 중인 환경의 권한에 따라 명령어 앞에 sudo를 붙여야 할 수도 있습니다.

docker compose down
# Linux/Mac
docker images -a | grep "librechat" | awk '{print $3}' | xargs docker rmi

# Windows (PowerShell)
docker images -a --filter "reference=registry.librechat.ai/danny-avila/librechat*" --format "{{.ID}}" | ForEach-Object { docker rmi $_ }
docker images -a --filter "reference=ghcr.io/danny-avila/librechat*" --format "{{.ID}}" | ForEach-Object { docker rmi $_ }
git pull
docker compose pull
docker compose up

문제 해결

이미 사용 중인 포트

포트 3080에 대해 bind: address already in use와 같은 오류가 표시된다면, 다른 애플리케이션이 해당 포트를 사용 중인 것입니다.

충돌하는 애플리케이션을 중지하거나 docker-compose.override.yml에서 포트를 변경하세요:

services:
  api:
    ports:
      - "3081:3080"

그런 다음 http://localhost:3081을 방문하세요.

컨테이너 시작 시 충돌 발생

컨테이너가 시작된 직후 즉시 종료된다면, 로그를 확인하세요:

docker compose logs api

일반적인 원인:

  • librechat.yaml 구문이 잘못되었습니다 -- YAML Validator를 사용하여 유효성을 검사하세요
  • .env 파일이 없습니다 -- 프로젝트 루트에 .env 파일이 있는지 확인하세요
  • Docker가 실행 중이지 않습니다 -- Docker Desktop이 열려 있고 실행 중인지 확인하세요

누락된 환경 변수

기능이 예상대로 작동하지 않는 경우, .env 파일에 필수 환경 변수가 설정되어 있는지 확인하세요.

docker compose exec api env | grep -i "your_variable"

사용 가능한 모든 변수와 기본값은 .env reference를 참조하세요.

다음 단계

이 가이드는 어떤가요?