docs(dev): update README.md with instructions for using single-compose.yml (#676)

feat(single-compose.yml): add single-compose.yml for building leaner app container without meilisearch and mongodb services
- This is useful for deploying on Google, Azure, etc., as a single, leaner container.
- Instructions for running the container are added to the README.md file.
- The container requires a MongoDB Atlas connection string for the `MONGO_URI` environment variable.
- Remote Meilisearch may also be possible, but is not tested.
This commit is contained in:
Danny Avila 2023-07-21 17:11:05 -07:00 committed by GitHub
parent deb1472aa5
commit 2a2e6d9991
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 1 deletions

View file

@ -6,4 +6,12 @@ This directory contains files used for developer work
### eslintrc-stripped.js:
- alternate linting rules, used in development
### meilisearch.yml:
- Dockerfile for building meilisearch image independently from project
- Dockerfile for building meilisearch image independently from project
### single-compose.yml:
- Dockerfile for building app image without meilisearch and mongodb services
- This is useful for deploying on Google, Azure, etc., as a single, leaner container.
- From root dir of the project, run `docker-compose -f ./docs/dev/single-compose.yml up --build`
- When you don't need to build, run `docker-compose -f ./docs/dev/single-compose.yml up`
- This requires you use a MongoDB Atlas connection string for the `MONGO_URI` env var
- A URI string to a mongodb service accessible to your container is also possible.
- Remote Meilisearch may also be possible in the same manner, but is not tested.

View file

@ -0,0 +1,31 @@
version: "3.4"
services:
api:
container_name: LibreChat-App
ports:
- 3080:3080 # Change it to 9000:3080 to use nginx
image: librechat # Comment this & uncomment below to build from docker hub image
build: # ^------
context: ../../ # ^------
target: node # ^------v
# image: ghcr.io/danny-avila/librechat:latest # Uncomment this & comment above to build from docker hub image
restart: always
extra_hosts: # if you are running APIs on docker you need access to, you will need to uncomment this line and next
- "host.docker.internal:host-gateway"
env_file:
- ../../.env
environment:
- HOST=0.0.0.0
# it's best to set it in your .env file, but uncomment if you prefer it in compose file
# MONGO_URI=<Your MongoDB Atlas connection string here>
# - CHATGPT_REVERSE_PROXY=http://host.docker.internal:8080/api/conversation # if you are hosting your own chatgpt reverse proxy with docker
# - OPENAI_REVERSE_PROXY=http://host.docker.internal:8070/v1/chat/completions # if you are hosting your own chatgpt reverse proxy with docker
volumes:
- /app/client/node_modules
- ../../api:/app/api
- ../../.env:/app/.env
- ../../.env.development:/app/.env.development
- ../../.env.production:/app/.env.production
- /app/api/node_modules
- ../../images:/app/client/public/images