-
Notifications
You must be signed in to change notification settings - Fork 9
copilot #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
copilot #27
Changes from 1 commit
df6ae2f
356ab3c
c63628b
4292732
79d2374
8b7fb4f
bab8f5c
d6cbd9c
f8b686c
0fe46b6
2de6256
5af7f3a
fc8d91d
643c0cb
817cc58
cf29499
b16540a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,3 +4,4 @@ | |
| # user defined files | ||
| .env | ||
| docker-compose.override.yml | ||
| node_modules | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| #!/usr/bin/env bash | ||
|
|
||
| docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --no-deps --detach "$@" | ||
| docker compose -f docker-compose.yml -f docker-compose.dev.yml up --no-deps --detach "$@" | ||
|
||
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,7 +4,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9230:9229" | ||
| - "0.0.0.0:9230:9229" | ||
|
||
| volumes: | ||
| - ../services/clsi/app:/overleaf/services/clsi/app | ||
| - ../services/clsi/app.js:/overleaf/services/clsi/app.js | ||
|
|
@@ -15,7 +15,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9231:9229" | ||
| - "0.0.0.0:9231:9229" | ||
| volumes: | ||
| - ../services/chat/app:/overleaf/services/chat/app | ||
| - ../services/chat/app.js:/overleaf/services/chat/app.js | ||
|
|
@@ -26,7 +26,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9232:9229" | ||
| - "0.0.0.0:9232:9229" | ||
| volumes: | ||
| - ../services/contacts/app:/overleaf/services/contacts/app | ||
| - ../services/contacts/app.js:/overleaf/services/contacts/app.js | ||
|
|
@@ -37,7 +37,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9233:9229" | ||
| - "0.0.0.0:9233:9229" | ||
| volumes: | ||
| - ../services/docstore/app:/overleaf/services/docstore/app | ||
| - ../services/docstore/app.js:/overleaf/services/docstore/app.js | ||
|
|
@@ -48,7 +48,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9234:9229" | ||
| - "0.0.0.0:9234:9229" | ||
| volumes: | ||
| - ../services/document-updater/app:/overleaf/services/document-updater/app | ||
| - ../services/document-updater/app.js:/overleaf/services/document-updater/app.js | ||
|
|
@@ -59,7 +59,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9235:9229" | ||
| - "0.0.0.0:9235:9229" | ||
| volumes: | ||
| - ../services/filestore/app:/overleaf/services/filestore/app | ||
| - ../services/filestore/app.js:/overleaf/services/filestore/app.js | ||
|
|
@@ -70,7 +70,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9239:9229" | ||
| - "0.0.0.0:9239:9229" | ||
| volumes: | ||
| - ../services/history-v1/api:/overleaf/services/history-v1/api | ||
| - ../services/history-v1/app.js:/overleaf/services/history-v1/app.js | ||
|
|
@@ -84,7 +84,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9236:9229" | ||
| - "0.0.0.0:9238:9229" | ||
| volumes: | ||
| - ../services/references/app:/overleaf/services/references/app | ||
| - ../services/references/config:/overleaf/services/references/config | ||
|
|
@@ -95,7 +95,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9236:9229" | ||
| - "0.0.0.0:9236:9229" | ||
| volumes: | ||
| - ../services/notifications/app:/overleaf/services/notifications/app | ||
| - ../services/notifications/app.js:/overleaf/services/notifications/app.js | ||
|
|
@@ -106,7 +106,7 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9240:9229" | ||
| - "0.0.0.0:9240:9229" | ||
| volumes: | ||
| - ../services/project-history/app:/overleaf/services/project-history/app | ||
| - ../services/project-history/app.js:/overleaf/services/project-history/app.js | ||
|
|
@@ -117,18 +117,35 @@ services: | |
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "127.0.0.1:9237:9229" | ||
| - "0.0.0.0:9237:9229" | ||
| volumes: | ||
| - ../services/real-time/app:/overleaf/services/real-time/app | ||
| - ../services/real-time/app.js:/overleaf/services/real-time/app.js | ||
| - ../services/real-time/config:/overleaf/services/real-time/config | ||
|
|
||
| llm: | ||
| command: ["node", "--watch", "app.js"] | ||
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| ports: | ||
| - "0.0.0.0:9241:9229" | ||
| volumes: | ||
| - ../services/llm/app.js:/overleaf/services/llm/app.js | ||
| - ../services/llm/config:/overleaf/services/llm/config | ||
| - ../services/llm/controllers:/overleaf/services/llm/controllers | ||
| - ../services/llm/models:/overleaf/services/llm/models | ||
| - ../services/llm/routes:/overleaf/services/llm/routes | ||
| - ../services/llm/services:/overleaf/services/llm/services | ||
| - ../services/llm/utils:/overleaf/services/llm/utils | ||
| - ../services/llm/package.json:/overleaf/services/llm/package.json | ||
|
||
|
|
||
| web: | ||
| command: ["node", "--watch", "app.js", "--watch-locales"] | ||
| command: ["node", "--watch", "app.mjs", "--watch-locales"] | ||
| environment: | ||
| - NODE_OPTIONS=--inspect=0.0.0.0:9229 | ||
| - SESSION_SECRET=helloworld | ||
| ports: | ||
| - "127.0.0.1:9229:9229" | ||
| - "0.0.0.0:9229:9229" | ||
| volumes: | ||
| - ../services/web/app:/overleaf/services/web/app | ||
| - ../services/web/app.mjs:/overleaf/services/web/app.mjs | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| module.exports = require('./Settings') | ||
| module.exports = require('./Settings') | ||
|
||
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| { | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,129 @@ | ||
| # LLM 项目 Docker 部署 | ||
|
|
||
| 本项目已配置完整的Docker部署环境,包含Node.js应用、MongoDB数据库和Redis缓存。 | ||
|
|
||
| ## 快速启动 | ||
|
|
||
| ### 构建并启动所有服务 | ||
|
|
||
| ```bash | ||
| # 构建并启动所有服务 | ||
| docker-compose up -d | ||
|
|
||
| # 查看服务状态 | ||
| docker-compose ps | ||
|
|
||
| # 查看应用日志 | ||
| docker-compose logs -f llm-app | ||
| ``` | ||
|
|
||
| ### 单独启动服务 | ||
|
|
||
| ```bash | ||
| # 仅启动数据库服务 | ||
| docker-compose up -d mongodb redis | ||
|
|
||
| # 启动应用(确保数据库已启动) | ||
| docker-compose up -d llm-app | ||
| ``` | ||
|
|
||
| ## 服务端口 | ||
|
|
||
| - **LLM应用**: http://localhost:9241 | ||
| - **MongoDB**: localhost:27017 | ||
| - **Redis**: localhost:6379 | ||
|
|
||
| ## 环境变量 | ||
|
|
||
| 可以通过环境变量覆盖默认配置: | ||
|
|
||
| ```bash | ||
| # 设置环境变量 | ||
| export MONGO_URL="mongodb://custom-host:27017/mydb" | ||
| export REDIS_URL="redis://custom-host:6379" | ||
| export PORT=8080 | ||
|
|
||
| # 使用环境变量启动 | ||
| docker-compose up -d | ||
| ``` | ||
|
|
||
| ## 开发模式 | ||
|
|
||
| 对于开发环境,可以挂载代码目录实现热重载: | ||
|
|
||
| ```yaml | ||
| # 在docker-compose.yml中的llm-app服务添加: | ||
| volumes: | ||
| - .:/app | ||
| - /app/node_modules | ||
| ``` | ||
|
|
||
| ## 数据持久化 | ||
|
|
||
| - MongoDB数据存储在Docker卷 `mongodb_data` 中 | ||
| - Redis数据存储在Docker卷 `redis_data` 中 | ||
|
|
||
| ## 常用命令 | ||
|
|
||
| ```bash | ||
| # 停止所有服务 | ||
| docker-compose down | ||
|
|
||
| # 停止并删除卷(清除所有数据) | ||
| docker-compose down -v | ||
|
|
||
| # 重新构建应用镜像 | ||
| docker-compose build llm-app | ||
|
|
||
| # 查看资源使用情况 | ||
| docker-compose top | ||
|
|
||
| # 进入容器调试 | ||
| docker-compose exec llm-app sh | ||
| docker-compose exec mongodb mongosh | ||
| docker-compose exec redis redis-cli | ||
| ``` | ||
|
|
||
| ## 健康检查 | ||
|
|
||
| 所有服务都配置了健康检查: | ||
|
|
||
| - 应用健康检查:访问API端点 | ||
| - MongoDB健康检查:执行ping命令 | ||
| - Redis健康检查:执行ping命令 | ||
|
|
||
| 可以通过以下命令查看健康状态: | ||
|
|
||
| ```bash | ||
| docker-compose ps | ||
| ``` | ||
|
|
||
| ## 故障排除 | ||
|
|
||
| ### 端口冲突 | ||
|
|
||
| 如果端口已被占用,可以修改docker-compose.yml中的端口映射: | ||
|
|
||
| ```yaml | ||
| ports: | ||
| - "9242:9241" # 将本地端口改为9242 | ||
| ``` | ||
|
|
||
| ### 数据库连接失败 | ||
|
|
||
| 确保服务启动顺序正确,应用会等待数据库健康检查通过后才启动。 | ||
|
|
||
| ### 日志查看 | ||
|
|
||
| ```bash | ||
| # 查看所有服务日志 | ||
| docker-compose logs | ||
|
|
||
| # 查看特定服务日志 | ||
| docker-compose logs llm-app | ||
| docker-compose logs mongodb | ||
| docker-compose logs redis | ||
|
|
||
| # 实时跟踪日志 | ||
| docker-compose logs -f llm-app | ||
| ``` |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| FROM node:18.20.2 AS base | ||
|
||
|
|
||
| WORKDIR /overleaf/services/llm | ||
|
|
||
|
|
||
| FROM base AS app | ||
|
|
||
| COPY package.json package-lock.json /overleaf/ | ||
| COPY services/llm/package.json /overleaf/services/llm/ | ||
| COPY libraries/ /overleaf/libraries/ | ||
| COPY patches/ /overleaf/patches/ | ||
|
|
||
| RUN cd /overleaf && npm ci | ||
|
|
||
| COPY services/llm/ /overleaf/services/llm/ | ||
|
|
||
| FROM app | ||
| USER node | ||
| CMD ["node", "--expose-gc", "app.js"] | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.