knowledge-vault/sources/references/开发笔记/Docker/安装OpenWebUI.md

2.9 KiB
Raw Blame History

使用 docker-compose 部署

创建docker-compose.yml

openwebui的源码github

openwebui的官方文档doc


 version: '3.8'
 
 services:
   open-webui:
     image: ghcr.io/open-webui/open-webui:main      
     container_name: open-webui
     ports:
       - "3030:8085"
    volumes:
      - /www/server/openwebui:/app/backend/data
     restart: always
 
    volumes:
      - /www/server/openwebui:/app/backend/data

    environment:
      - ENABLE_OPENAI_API=False
      - ENABLE_RAG_WEB_SEARCH=True
      - RAG_WEB_SEARCH_ENGINE="duckduckgo"
      - RAG_WEB_SEARCH_RESULT_COUNT=3
      - RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
    restart: unless-stopped

 dockercompos配置文件的解释

 version: '3.8'  
   # 定义 Compose 文件的版本,这里使用的是 3.8 版本。
 services: 
    # 这里定义了你容器中的服务。每一个服务都会启动一个容器。
   open-webui:  
      # 服务的名称,这里定义的是 `open-webui` 服务。
     
     image: ghcr.io/open-webui/open-webui:main  
       # 使用的镜像名称。此镜像位于 GitHub Container Registry,标签是 `main`。
     
     container_name: open-webui  
          # 容器的名称,这里指定了容器的名称为 `open-webui`。

     

     environment:  
          # 这里是环境变量配置,传递给容器内部。

       - OPENAI_API_KEY= openai的api key  # 设置 `OPENAI_API_KEY` 环境变量,用于容器内的应用程序访问 OpenAI API。需要将 `openai的api key` 替换为实际的 OpenAI API 密钥。

     ports:  # 定义主机端口和容器端口的映射。
       - "3000:8080"  # 这表示将宿主机的 3000 端口映射到容器内的 8080 端口。即访问宿主机的 `http://localhost:3000` 时,流量将转发到容器内的 8080 端口。

     volumes:  # 定义持久化数据的卷。这里是将宿主机的卷 `open-webui` 挂载到容器内的 `/app/backend/data` 目录。

       - open-webui:/app/backend/data  
        # 持久化数据存储卷,`open-webui` 是卷的名称。数据将存储在宿主机的 Docker 卷中,容器重新启动时数据会保留。


     restart: always  
    # 设置容器的重启策略。当容器停止时,Docker 会自动重新启动它。`always` 表示只要容器停止,它都会自动重启。

 volumes:  
 # 这里定义了持久化存储的卷。

   open-webui:  
    # 定义一个卷 `open-webui`,这是一个 Docker 卷,在宿主机和容器之间共享数据。这个卷会用于存储容器 `/app/backend/data` 中的数据。

配置完成后运行拉取镜像

 docker-compose up -d

 #小知识如果文件夹下有多个compose文件或者命名不同可以指定运行
 docker-compose -f docker-compose-openwebui.yml up -d

现在你就可以通过http://你的ip+端口访问openwebui了