更新环境变量配置,添加 OPEN_TERMINAL_API_KEY,并创建 docker-compose 文件以支持服务部署
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
CLIPROXY_API_KEY=replace-with-the-key-from-cliproxyapi-config
|
CLIPROXY_API_KEY=replace-with-the-key-from-cliproxyapi-config
|
||||||
GEMINI_API_KEY=replace-with-your-gemini-api-key
|
GEMINI_API_KEY=replace-with-your-gemini-api-key
|
||||||
JUPYTER_TOKEN=replace-with-a-strong-random-token
|
JUPYTER_TOKEN=replace-with-a-strong-random-token
|
||||||
|
OPEN_TERMINAL_API_KEY=replace-with-a-strong-random-key
|
||||||
|
|
||||||
WEBUI_AUTH=true
|
WEBUI_AUTH=true
|
||||||
ENABLE_LOGIN_FORM=true
|
ENABLE_LOGIN_FORM=true
|
||||||
|
|||||||
@@ -0,0 +1,116 @@
|
|||||||
|
name: ai_stack
|
||||||
|
|
||||||
|
services:
|
||||||
|
cli-proxy-api:
|
||||||
|
image: eceasy/cli-proxy-api:latest
|
||||||
|
container_name: cli-proxy-api
|
||||||
|
pull_policy: always
|
||||||
|
ports:
|
||||||
|
- '0.0.0.0:8317:8317'
|
||||||
|
- '0.0.0.0:8085:8085'
|
||||||
|
- '0.0.0.0:1455:1455'
|
||||||
|
- '0.0.0.0:54545:54545'
|
||||||
|
- '0.0.0.0:51121:51121'
|
||||||
|
- '0.0.0.0:11451:11451'
|
||||||
|
volumes:
|
||||||
|
- ./cliproxyapi/config.yaml:/CLIProxyAPI/config.yaml:ro
|
||||||
|
- ./cliproxyapi/auths:/root/.cli-proxy-api
|
||||||
|
- ./cliproxyapi/logs:/CLIProxyAPI/logs
|
||||||
|
restart: unless-stopped
|
||||||
|
litellm:
|
||||||
|
image: docker.litellm.ai/berriai/litellm:main-stable
|
||||||
|
container_name: litellm
|
||||||
|
ports:
|
||||||
|
- '18003:4000'
|
||||||
|
environment:
|
||||||
|
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
||||||
|
- CLIPROXY_API_KEY=${CLIPROXY_API_KEY}
|
||||||
|
volumes:
|
||||||
|
- ./litellm:/app/litellm:ro
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
depends_on:
|
||||||
|
- cli-proxy-api
|
||||||
|
command: >
|
||||||
|
--config /app/litellm/config.yaml
|
||||||
|
--port 4000
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
jupyter:
|
||||||
|
image: quay.io/jupyter/datascience-notebook:latest
|
||||||
|
container_name: ai-chat-jupyter
|
||||||
|
environment:
|
||||||
|
- JUPYTER_TOKEN=${JUPYTER_TOKEN}
|
||||||
|
command: >
|
||||||
|
start-notebook.py
|
||||||
|
--ServerApp.token=${JUPYTER_TOKEN}
|
||||||
|
--ServerApp.password=
|
||||||
|
--ServerApp.allow_origin=*
|
||||||
|
volumes:
|
||||||
|
- jupyter-work:/home/jovyan/work
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
open-terminal:
|
||||||
|
image: ghcr.io/open-webui/open-terminal:latest
|
||||||
|
container_name: open-terminal
|
||||||
|
environment:
|
||||||
|
- OPEN_TERMINAL_API_KEY=${OPEN_TERMINAL_API_KEY:?OPEN_TERMINAL_API_KEY is required}
|
||||||
|
volumes:
|
||||||
|
- open-terminal:/home/user
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
open-webui:
|
||||||
|
image: ghcr.io/open-webui/open-webui:main
|
||||||
|
container_name: open-webui
|
||||||
|
pull_policy: always
|
||||||
|
ports:
|
||||||
|
- '18004:8080'
|
||||||
|
environment:
|
||||||
|
- OPENAI_API_BASE_URLS=http://litellm:4000/v1;http://cli-proxy-api:8317/v1
|
||||||
|
- OPENAI_API_KEYS=dummy;${CLIPROXY_API_KEY}
|
||||||
|
- >-
|
||||||
|
TERMINAL_SERVER_CONNECTIONS=[{"id":"open-terminal","url":"http://open-terminal:8000","key":"${OPEN_TERMINAL_API_KEY}","name":"Open Terminal","auth_type":"bearer","config":{"access_grants":[]}}]
|
||||||
|
- WEBUI_AUTH=true
|
||||||
|
- WEBUI_NAME=棋洋
|
||||||
|
- OAUTH_ALLOWED_DOMAINS=${OAUTH_ALLOWED_DOMAINS}
|
||||||
|
- DEFAULT_USER_ROLE=pending
|
||||||
|
- ENABLE_CODE_INTERPRETER=false
|
||||||
|
- ENABLE_CODE_EXECUTION=true
|
||||||
|
- CODE_INTERPRETER_ENGINE=jupyter
|
||||||
|
- CODE_INTERPRETER_JUPYTER_URL=http://jupyter:8888
|
||||||
|
- CODE_INTERPRETER_JUPYTER_AUTH=token
|
||||||
|
- CODE_INTERPRETER_JUPYTER_AUTH_TOKEN=${JUPYTER_TOKEN}
|
||||||
|
- CODE_INTERPRETER_JUPYTER_TIMEOUT=120
|
||||||
|
- ENABLE_IMAGE_GENERATION=true
|
||||||
|
- ENABLE_IMAGE_PROMPT_GENERATION=true
|
||||||
|
- IMAGE_GENERATION_ENGINE=openai
|
||||||
|
- IMAGE_GENERATION_MODEL=gpt-image-2
|
||||||
|
- IMAGE_SIZE=1024x1024
|
||||||
|
- IMAGES_OPENAI_API_BASE_URL=http://cli-proxy-api:8317/v1
|
||||||
|
- IMAGES_OPENAI_API_KEY=${CLIPROXY_API_KEY}
|
||||||
|
|
||||||
|
- ENABLE_IMAGE_EDIT=true
|
||||||
|
- IMAGE_EDIT_ENGINE=openai
|
||||||
|
- IMAGE_EDIT_MODEL=gpt-image-2
|
||||||
|
- IMAGE_EDIT_SIZE=1024x1024
|
||||||
|
- IMAGES_EDIT_OPENAI_API_BASE_URL=http://cli-proxy-api:8317/v1
|
||||||
|
- IMAGES_EDIT_OPENAI_API_KEY=${CLIPROXY_API_KEY}
|
||||||
|
|
||||||
|
# --- 以下是新增的网页搜索相关环境变量 ---
|
||||||
|
- ENABLE_WEB_SEARCH=true
|
||||||
|
- WEB_SEARCH_ENGINE=ddgs
|
||||||
|
- WHISPER_WEB_SEARCH_RESULT_COUNT=5
|
||||||
|
- WEB_SEARCH_TRUSTED_PROXY=true
|
||||||
|
# ------------------------------------
|
||||||
|
volumes:
|
||||||
|
- open-webui:/app/backend/data
|
||||||
|
depends_on:
|
||||||
|
- litellm
|
||||||
|
- cli-proxy-api
|
||||||
|
- jupyter
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
open-webui:
|
||||||
|
jupyter-work:
|
||||||
|
open-terminal:
|
||||||
Reference in New Issue
Block a user