diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c7cd892bd5..ebfd2685ee 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,58 +1,17 @@ -// { -// "name": "LibreChat_dev", -// // Update the 'dockerComposeFile' list if you have more compose files or use different names. -// "dockerComposeFile": "docker-compose.yml", -// // The 'service' property is the name of the service for the container that VS Code should -// // use. Update this value and .devcontainer/docker-compose.yml to the real service name. -// "service": "librechat", -// // The 'workspaceFolder' property is the path VS Code should open by default when -// // connected. Corresponds to a volume mount in .devcontainer/docker-compose.yml -// "workspaceFolder": "/workspace" -// //, -// // // Set *default* container specific settings.json values on container create. -// // "settings": {}, -// // // Add the IDs of extensions you want installed when the container is created. -// // "extensions": [], -// // Uncomment the next line if you want to keep your containers running after VS Code shuts down. -// // "shutdownAction": "none", -// // Uncomment the next line to use 'postCreateCommand' to run commands after the container is created. -// // "postCreateCommand": "uname -a", -// // Comment out to connect as root instead. To add a non-root user, see: https://aka.ms/vscode-remote/containers/non-root. -// // "remoteUser": "vscode" -// } { - // "name": "LibreChat_dev", - "dockerComposeFile": "docker-compose.yml", - "service": "app", - // "image": "node:19-alpine", - // "workspaceFolder": "/workspaces", - "workspaceFolder": "/workspace", - // Set *default* container specific settings.json values on container create. - // "overrideCommand": true, - "customizations": { - "vscode": { - "extensions": [], - "settings": { - "terminal.integrated.profiles.linux": { - "bash": null - } - } + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspaces", + "customizations": { + "vscode": { + "extensions": [], + "settings": { + "terminal.integrated.profiles.linux": { + "bash": null } - }, - "postCreateCommand": "", - // "workspaceMount": "src=${localWorkspaceFolder},dst=/code,type=bind,consistency=cached" - - // "runArgs": [ - // "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", - // "-v", "/tmp/.X11-unix:/tmp/.X11-unix", - // "-v", "${env:XAUTHORITY}:/root/.Xauthority:rw", - // "-v", "/home/${env:USER}/.cdh:/root/.cdh", - // "-e", "DISPLAY=${env:DISPLAY}", - // "--name=tgw_assistant_backend_dev", - // "--network=host" - // ], - // "settings": { - // "terminal.integrated.shell.linux": "/bin/bash" - // }, - "features": {"ghcr.io/devcontainers/features/git:1": {}} + } + } + }, + "postCreateCommand": "", + "features": { "ghcr.io/devcontainers/features/git:1": {} } } diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index caee7d9579..fd2a759b99 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,17 +1,9 @@ -version: '3.4' +version: "3.8" services: app: - # container_name: LibreChat_dev image: node:19-bullseye - # Using a Dockerfile is optional, but included for completeness. - # build: - # context: . - # dockerfile: Dockerfile - # # [Optional] You can use build args to set options. e.g. 'VARIANT' below affects the image in the Dockerfile - # args: - # VARIANT: buster - # network_mode: "host" + # restart: always links: - mongodb - meilisearch @@ -21,17 +13,16 @@ services: - "host.docker.internal:host-gateway" volumes: - # # This is where VS Code should expect to find your project's source code and the value of "workspaceFolder" in .devcontainer/devcontainer.json - - ..:/workspace:cached - # # - /app/client/node_modules - # # - ./api:/app/api - # # - ./.env:/app/.env - # # - ./.env.development:/app/.env.development - # # - ./.env.production:/app/.env.production - # # - /app/api/node_modules - - # # 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 + # 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 + # 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 + environment: + - HOST=0.0.0.0 + - MONGO_URI=mongodb://mongodb:27017/LibreChat + # - 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 + - MEILI_HOST=http://meilisearch:7700 # Runs app on the same network as the service container, allows "forwardPorts" in devcontainer.json function. # network_mode: service:another-service @@ -42,42 +33,32 @@ services: # Uncomment the next line to use a non-root user for all processes - See https://aka.ms/vscode-remote/containers/non-root for details. # user: vscode - # Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust. - # cap_add: - # - SYS_PTRACE - # security_opt: - # - seccomp:unconfined - # Overrides default command so things don't shut down after the process ends. command: /bin/sh -c "while sleep 1000; do :; done" mongodb: container_name: chat-mongodb - # network_mode: "host" expose: - 27017 # ports: # - 27018:27017 image: mongo - # restart: always + # restart: always volumes: - ./data-node:/data/db command: mongod --noauth meilisearch: container_name: chat-meilisearch - image: getmeili/meilisearch:v1.0 - # network_mode: "host" + image: getmeili/meilisearch:v1.5 + # restart: always expose: - 7700 - # ports: - # - 7700:7700 - # env_file: - # - .env + # 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: - - SEARCH=false - - MEILI_HOST=http://0.0.0.0:7700 - - MEILI_HTTP_ADDR=0.0.0.0:7700 + - MEILI_HTTP_ADDR=meilisearch:7700 + - MEILI_NO_ANALYTICS=true - MEILI_MASTER_KEY=5c71cf56d672d009e36070b5bc5e47b743535ae55c818ae3b735bb6ebfb4ba63 volumes: - - ./meili_data:/meili_data - + - ./meili_data_v1.5:/meili_data