|
| 1 | +# LibreChat Setup Guide |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +LibreChat is an open-source ChatGPT clone that supports multiple AI providers. This guide covers complete setup from infrastructure to deployment. |
| 6 | + |
| 7 | +## Infrastructure Requirements |
| 8 | + |
| 9 | +### Server Specifications |
| 10 | +- **AWS Instance**: t3.medium |
| 11 | +- **CPU**: 2 vCPUs |
| 12 | +- **RAM**: 4GB |
| 13 | +- **Storage**: 32GB minimum (Run `docker system prune -a` after updates to clean up old images) |
| 14 | +- **OS**: Ubuntu 22.04 LTS (official) or Debian (tested) |
| 15 | + |
| 16 | +## Repository Information |
| 17 | +- **Official Repository**: https://github.com/danny-avila/LibreChat |
| 18 | +- **E-gineering Fork**: https://github.com/e-gineering/LibreChat |
| 19 | + |
| 20 | +## Initial Server Setup |
| 21 | +After basic provisioning of the VM and ensuring SSH access: |
| 22 | + |
| 23 | +### Docker Setup |
| 24 | + |
| 25 | +- **Official Remote Docker Linux Install guide**: [LibreChat Docs(https://www.librechat.ai/docs/remote/docker_linux)] |
| 26 | + |
| 27 | +### Repository Setup |
| 28 | +```sh |
| 29 | +# Clone repository |
| 30 | +git clone https://github.com/e-gineering/LibreChat.git |
| 31 | +# Or the upstream repo: git clone https://github.com/danny-avila/LibreChat.git |
| 32 | + |
| 33 | +# Enter project directory |
| 34 | +cd LibreChat |
| 35 | +``` |
| 36 | +## Configuration |
| 37 | + |
| 38 | +### Core Configuration Files |
| 39 | +1. `docker-compose.override.yml` - Docker service overrides |
| 40 | +2. `librechat.yaml` - Application configuration |
| 41 | +3. `.env` - Environment variables |
| 42 | + |
| 43 | +### Setup Process |
| 44 | + |
| 45 | +**Copy Template Files:** |
| 46 | +```sh |
| 47 | +# Copy template configuration files |
| 48 | +cp eg.docker-compose.override.yml.example docker-compose.override.yml |
| 49 | +cp eg.librechat.example.yaml librechat.yaml |
| 50 | +cp .env.example .env |
| 51 | +``` |
| 52 | + |
| 53 | +### Environment Variables (.env) |
| 54 | + |
| 55 | +Generate secure credentials at: https://www.librechat.ai/toolkit/creds_generator |
| 56 | + |
| 57 | +**Essential variables to update:** |
| 58 | +```env |
| 59 | +# domain information |
| 60 | +HOST= |
| 61 | +DOMAIN_CLIENT= |
| 62 | +DOMAIN_SERVER= |
| 63 | +
|
| 64 | +# Credentials |
| 65 | +CREDS_IV= |
| 66 | +CREDS_KEY= |
| 67 | +JWT_SECRET= |
| 68 | +JWT_REFRESH_SECRET= |
| 69 | +MEILI_MASTER_KEY= |
| 70 | +
|
| 71 | +# AI Provider Keys - set to `user_provided` to have individual keys. |
| 72 | +OPENAI_API_KEY=sk-your_key_here |
| 73 | +
|
| 74 | +# Disable registration after creating admin account (by default its the first account) |
| 75 | +ALLOW_REGISTRATION=false |
| 76 | +``` |
| 77 | + |
| 78 | +### Docker Compose Override |
| 79 | + |
| 80 | +This file is used to volume map the `librechat.yaml` file into the container. And to start up any extra containers like traefik, nginx, or metrics for example. This basically runs on top of, and "overrides" the `docker-compose.yml`. |
| 81 | + |
| 82 | +### Librechat.yaml |
| 83 | + |
| 84 | +Additional providers, endpoints, and MCP servers can be added here in the `librechat.yaml`. As well as Terms of Service modal, and other configuration options. |
| 85 | + |
| 86 | +## Deployment |
| 87 | + |
| 88 | +```sh |
| 89 | +docker compose up -d |
| 90 | +``` |
| 91 | + |
| 92 | +## Updates |
| 93 | + |
| 94 | +Update the LibreChat version in the override file and then run: |
| 95 | + |
| 96 | +```sh |
| 97 | +docker compose pull && docker compose down && docker compose up -d |
| 98 | +``` |
| 99 | + |
| 100 | +After its confirmed working you can run this to clean up the old images, etc. |
| 101 | + |
| 102 | +```sh |
| 103 | +docker system prune -a |
| 104 | +``` |
0 commit comments