Compare commits
9 Commits
chore/tigh
...
codespaces
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1f99b41f8 | ||
|
|
140feadb7e | ||
|
|
7049260709 | ||
|
|
2f6aae6392 | ||
|
|
c3822fdd28 | ||
|
|
404cd3e468 | ||
|
|
0cab0437ad | ||
|
|
a950f57ee6 | ||
|
|
104dc9a08e |
2
.devcontainer/.env.example
Normal file
2
.devcontainer/.env.example
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# When running devcontainers, you can specify if docker & docker-compose should be installed in your environment
|
||||||
|
INSTALL_DOCKER=false
|
||||||
@@ -1,5 +1,33 @@
|
|||||||
|
# .devcontainer/Dockerfile
|
||||||
FROM node:18-bullseye
|
FROM node:18-bullseye
|
||||||
|
|
||||||
|
ARG INSTALL_DOCKER="false"
|
||||||
|
ENV INSTALL_DOCKER=${INSTALL_DOCKER}
|
||||||
|
|
||||||
|
# Install Docker and Docker Compose only if INSTALL_DOCKER is "true"
|
||||||
|
RUN if [ "$INSTALL_DOCKER" = "true" ]; then \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release && \
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
|
||||||
|
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install sudo
|
||||||
|
RUN apt-get update && apt-get install -y sudo
|
||||||
|
|
||||||
|
# Set up non-root user
|
||||||
RUN useradd -m -s /bin/bash vscode
|
RUN useradd -m -s /bin/bash vscode
|
||||||
RUN mkdir -p /workspaces && chown -R vscode:vscode /workspaces
|
RUN if [ "$INSTALL_DOCKER" = "true" ]; then usermod -aG docker vscode; fi
|
||||||
WORKDIR /workspaces
|
|
||||||
|
# Add vscode user to sudoers
|
||||||
|
RUN echo "vscode ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/vscode && \
|
||||||
|
chmod 0440 /etc/sudoers.d/vscode
|
||||||
|
|
||||||
|
USER vscode
|
||||||
|
|
||||||
|
WORKDIR /workspaces/LibreChat
|
||||||
|
|
||||||
|
# Set the default command
|
||||||
|
CMD ["/bin/bash"]
|
||||||
@@ -1,18 +1,23 @@
|
|||||||
{
|
{
|
||||||
|
"name": "LibreChat Development",
|
||||||
"dockerComposeFile": "docker-compose.yml",
|
"dockerComposeFile": "docker-compose.yml",
|
||||||
"service": "app",
|
"service": "app",
|
||||||
"workspaceFolder": "/workspaces",
|
"workspaceFolder": "/workspaces/LibreChat",
|
||||||
"customizations": {
|
"customizations": {
|
||||||
"vscode": {
|
"vscode": {
|
||||||
"extensions": [],
|
"extensions": ["ms-azuretools.vscode-docker"]
|
||||||
"settings": {
|
|
||||||
"terminal.integrated.profiles.linux": {
|
|
||||||
"bash": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postCreateCommand": "",
|
"features": {
|
||||||
"features": { "ghcr.io/devcontainers/features/git:1": {} },
|
"ghcr.io/devcontainers/features/docker-in-docker:2": {
|
||||||
"remoteUser": "vscode"
|
"version": "latest",
|
||||||
|
"moby": false,
|
||||||
|
"dockerDashComposeVersion": "v2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"remoteUser": "vscode",
|
||||||
|
"postCreateCommand": "sudo chown root:docker /var/run/docker.sock && sudo chmod 660 /var/run/docker.sock && npm run reinstall && npm run pull:rag && npm run copy-ex && MEILI_MASTER_KEY=$(docker-compose -f .devcontainer/docker-compose.yml exec -T meilisearch printenv MEILI_MASTER_KEY) && sed -i \"s/^MEILI_MASTER_KEY=.*/MEILI_MASTER_KEY=$MEILI_MASTER_KEY/\" .env",
|
||||||
|
"remoteEnv": {
|
||||||
|
"INSTALL_DOCKER": "${localEnv:INSTALL_DOCKER:false}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
|
# .devcontainer/docker-compose.yml
|
||||||
|
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build:
|
group_add:
|
||||||
|
- docker
|
||||||
|
build:
|
||||||
context: ..
|
context: ..
|
||||||
dockerfile: .devcontainer/Dockerfile
|
dockerfile: .devcontainer/Dockerfile
|
||||||
|
args:
|
||||||
|
- INSTALL_DOCKER=${INSTALL_DOCKER:-false}
|
||||||
# restart: always
|
# restart: always
|
||||||
links:
|
links:
|
||||||
- mongodb
|
- mongodb
|
||||||
@@ -17,6 +23,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
# This is where VS Code should expect to find your project's source code and the value of "workspaceFolder" in .devcontainer/devcontainer.json
|
# This is where VS Code should expect to find your project's source code and the value of "workspaceFolder" in .devcontainer/devcontainer.json
|
||||||
- ..:/workspaces:cached
|
- ..:/workspaces:cached
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
# Uncomment the next line to use Docker from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker-compose for details.
|
# Uncomment the next line to use Docker from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker-compose for details.
|
||||||
# - /var/run/docker.sock:/var/run/docker.sock
|
# - /var/run/docker.sock:/var/run/docker.sock
|
||||||
environment:
|
environment:
|
||||||
@@ -36,14 +43,12 @@ services:
|
|||||||
user: vscode
|
user: vscode
|
||||||
|
|
||||||
# Overrides default command so things don't shut down after the process ends.
|
# Overrides default command so things don't shut down after the process ends.
|
||||||
command: /bin/sh -c "while sleep 1000; do :; done"
|
command: /bin/sh -c "while sleep 1000; do :; done"
|
||||||
|
|
||||||
mongodb:
|
mongodb:
|
||||||
container_name: chat-mongodb
|
container_name: chat-mongodb
|
||||||
expose:
|
expose:
|
||||||
- 27017
|
- 27017
|
||||||
# ports:
|
|
||||||
# - 27018:27017
|
|
||||||
image: mongo
|
image: mongo
|
||||||
# restart: always
|
# restart: always
|
||||||
volumes:
|
volumes:
|
||||||
@@ -55,11 +60,8 @@ services:
|
|||||||
# restart: always
|
# restart: always
|
||||||
expose:
|
expose:
|
||||||
- 7700
|
- 7700
|
||||||
# Uncomment this to access meilisearch from outside docker
|
|
||||||
# ports:
|
|
||||||
# - 7700:7700 # if exposing these ports, make sure your master key is not the default value
|
|
||||||
environment:
|
environment:
|
||||||
- MEILI_NO_ANALYTICS=true
|
- MEILI_NO_ANALYTICS=true
|
||||||
- MEILI_MASTER_KEY=5c71cf56d672d009e36070b5bc5e47b743535ae55c818ae3b735bb6ebfb4ba63
|
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-$(openssl rand -hex 16)}
|
||||||
volumes:
|
volumes:
|
||||||
- ./meili_data_v1.5:/meili_data
|
- ./meili_data_v1.5:/meili_data
|
||||||
|
|||||||
@@ -436,3 +436,6 @@ HELP_AND_FAQ_URL=https://librechat.ai
|
|||||||
|
|
||||||
# E2E_USER_EMAIL=
|
# E2E_USER_EMAIL=
|
||||||
# E2E_USER_PASSWORD=
|
# E2E_USER_PASSWORD=
|
||||||
|
|
||||||
|
# RAG_PORT
|
||||||
|
RAG_PORT=8000
|
||||||
@@ -58,7 +58,9 @@
|
|||||||
"b:test:client": "cd client && bun run b:test",
|
"b:test:client": "cd client && bun run b:test",
|
||||||
"b:test:api": "cd api && bun run b:test",
|
"b:test:api": "cd api && bun run b:test",
|
||||||
"b:balance": "bun config/add-balance.js",
|
"b:balance": "bun config/add-balance.js",
|
||||||
"b:list-balances": "bun config/list-balances.js"
|
"b:list-balances": "bun config/list-balances.js",
|
||||||
|
"pull:rag": "docker compose -f ./rag.yml pull",
|
||||||
|
"copy-ex": "cp .env.example .env"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
Reference in New Issue
Block a user