准备:
win11下wsl和ubuntu20.04装好,docker和compose装好,DeepBI下载好。
实施:
cd DeepBI
$ ./Install_CN.sh
需要设置服务器的IP地址,你本地IP 如下,可以选择一个局域网IP:
inet
172.29.xxx.xxx
你输入的IP,它将作为页面访问的IP地址(以后可以在.env 更改)
请输入你的 ip: 172.29.xxx.xxx
你输入的IP是: 172.29.xxx.xxx ,确定么?(Y/N): Y
IP :172.29.xxx.xxx
如果开放外部访问,需要调整防火墙允许访问
我们会使用服务端口 8338 8339 8340,确保它们没有使用?(Y/N): Y
Rename files
Replace ip port
所有配置如下:
--------------------------------
#DEEPBI environment variables
#log level
DEEPBI_LOG_LEVEL=INFO
# use other redis config; default: docker redis://redis:6379/0
# DEEPBI_REDIS_URL=redis://127.0.0.1:6379/0
# session encryption string
DEEPBI_COOKIE_SECRET=xxxcbdxxxx62ac32aea8802ce586840c
# database encryption string, same with DEEPBI_SECRET_KEY, you can change
DEEPBI_SECRET_KEY=xxxcbdxxxx62ac32aea8802ce586840c
# use other postgresql database; default docker postgresql://postgres@postgres/postgres
# DEEPBI_DATABASE_URL="postgresql://user:pwd@ip/database"
# allow custom js visualizations
DEEPBI_FEATURE_ALLOW_CUSTOM_JS_VISUALIZATIONS=True
# Language CN/EN, only ip address ,no
WEB_LANGUAGE=CN
# web server ip address or domain,for ai get database config option. port 5000,same with Docker
WEB_SERVER=172.29.xxx.xxx:8338
# api secret key for ai get database config option
DB_API_SECRET_KEY=xxxcbdxxxx62ac32aea8802ce586840c
# web content security policy
DEEPBI_CONTENT_SECURITY_POLICY="style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' http: https: data: blob:; object-src 'none'; frame-ancestors 'none';"
# socket dir, need set Localhost ip
REACT_APP_SOCKET_URL=172.29.xxx.xxx:8339/chat/
# static file CDN
CDN_DOMAIN=
AI_WEB_SERVER=172.29.xxx.xxx:8340
--------------------------------
下面将开始 通过docker-compose 拉取创建镜像,可能需要60分钟,主要根据你的网络情况,请耐心等待。
或者,你修改本地docker 镜像源地址,比如更改为阿里云等
WARN[0000] /mnt/d/DeepBI/docker-compose.yml: `version` is obsolete
[+] Building 287.9s (42/63) docker:default
=> [server internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 2.07kB 0.1s
=> [server_socket internal] load metadata for docker.io/library/python:3.8.18-slim 0.0s
=> [server internal] load .dockerignore 0.2s
=> => transferring context: 203B 0.1s
=> [server internal] load build context 0.2s
=> => transferring context: 35B 0.1s
=> [server_socket 1/14] FROM docker.io/library/python:3.8.18-slim 0.1s
=> CACHED [scheduler 2/14] RUN apt-get update 3.7s
=> CACHED [scheduler 3/14] RUN apt-get clean 0.5s
=> CACHED [scheduler 4/14] RUN apt-get update 1.3s
=> CACHED [scheduler 5/14] RUN apt-get install -y --no-install-recommends curl gnupg build-essential p 27.4s
=> CACHED [scheduler 6/14] RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 1.8s
=> CACHED [scheduler 7/14] RUN pip install --upgrade pip 4.1s
=> [server 8/14] COPY ./vrequment.txt /app/vrequment.txt 0.1s
=> [server 9/14] WORKDIR /app 0.0s
=> [server 10/14] RUN pip install pip==20.2.4 3.0s
=> [server 11/14] RUN if [ "xyes" = "x" ] ; then pip install -r requirements_dev.txt ; fi 0.4s
=> [server 12/14] RUN pip install -r vrequment.txt 238.3s
=> [server 13/14] RUN sed -i 's/from importlib_resources import path/from importlib.resources import path/g' /us 0.3s
=> [server 14/14] RUN sed -i 's/from importlib_resources import path/from importlib.resources import path/g' /us 0.5s
=> [server] exporting to image 3.0s
=> => exporting layers 3.0s
=> => writing image sha256:f5878bf69f81ac40e2f8b6314b87be58d45ab8e260bc45bd5a0b0af3eef59db1 0.0s
=> => naming to docker.io/library/deepbi-server 0.0s
=> [scheduler internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 2.07kB 0.1s
=> [server_ai_api internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 2.07kB 0.1s
=> [worker internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 2.07kB 0.1s
=> [server_socket internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 2.07kB 0.1s
=> [scheduler internal] load .dockerignore 0.1s
=> => transferring context: 203B 0.1s
=> [server_ai_api internal] load .dockerignore 0.1s
=> => transferring context: 203B 0.1s
=> [worker internal] load .dockerignore 0.1s
=> => transferring context: 203B 0.1s
=> [scheduler internal] load build context 0.1s
=> => transferring context: 35B 0.1s
=> [server_socket internal] load .dockerignore 0.2s
=> => transferring context: 203B 0.1s
=> [server_ai_api internal] load build context 0.2s
=> => transferring context: 2.35kB 0.1s
=> [worker internal] load build context 0.2s
=> => transferring context: 2.35kB 0.2s
=> CACHED [scheduler 8/14] COPY ./vrequment.txt /app/vrequment.txt 0.0s
=> CACHED [scheduler 9/14] WORKDIR /app 0.0s
=> CACHED [scheduler 10/14] RUN pip install pip==20.2.4 0.0s
=> CACHED [scheduler 11/14] RUN if [ "xyes" = "x" ] ; then pip install -r requirements_dev.txt ; fi 0.0s
=> CACHED [scheduler 12/14] RUN pip install -r vrequment.txt 0.0s
=> CACHED [scheduler 13/14] RUN sed -i 's/from importlib_resources import path/from importlib.resources import p 0.0s
=> CACHED [server_ai_api 14/14] RUN sed -i 's/from importlib_resources import path/from importlib.resources impo 0.0s
=> [scheduler] exporting to image 0.1s
=> => exporting layers 0.0s
=> => writing image sha256:ff42a31f834d6d5dedc555d2ab363dccd99a622275474de81aaa93d6f8dccbbe 0.0s
=> => naming to docker.io/library/deepbi-scheduler 0.0s
=> [server_socket internal] load build context 0.2s
=> => transferring context: 2.35kB 0.1s
=> [server_ai_api] exporting to image 0.1s
=> => exporting layers 0.0s
=> => writing image sha256:462f9eed37f53c363ea27c9e65c05f1d295a316605ca0225bcc3565901bf2a6d 0.0s
=> => naming to docker.io/library/deepbi-server_ai_api 0.0s
=> [worker] exporting to image 0.1s
=> => exporting layers 0.0s
=> => writing image sha256:84d9bc0e1440218f3d7e4590cb62255f90a61992293130e239cc29f0e85187d6 0.0s
=> => naming to docker.io/library/deepbi-worker 0.0s
=> [server_socket] exporting to image 0.1s
=> => exporting layers 0.0s
=> => writing image sha256:a41046820051e913d169cd810abc2ea6c731de84ab6f54241cfbc087c98a9c4e 0.0s
=> => naming to docker.io/library/deepbi-server_socket 0.0s
--------------------------------
镜像拉取创建完毕,开始初始化镜像中数据库
WARN[0000] /mnt/d/DeepBI/docker-compose.yml: `version` is obsolete
[+] Running 17/17
✔ postgres Pulled 4245.1s
✔ 4abcf2066143 Already exists 0.0s
✔ e54d40fa3899 Pull complete 49.5s
✔ 63bba88902c4 Pull complete 50.5s
✔ 895cde69c46d Pull complete 4217.0s
✔ f283b4aaa3dc Pull complete 65.5s
✔ e1dfb80fbe96 Pull complete 66.5s
✔ cab9af40886f Pull complete 67.4s
✔ 0008d7ccfed1 Pull complete 72.1s
✔ 5f53a735edbf Pull complete 71.7s
✔ redis Pulled 200.5s
✔ 4fe2ade4980c Pull complete 100.9s
✔ fb758dc2e038 Pull complete 80.7s
✔ 989f7b0c858b Pull complete 90.2s
✔ 42b4b9f869ad Pull complete 67.5s
✔ 17e06138ef20 Pull complete 50.8s
✔ c0ecd66db81e Pull complete 50.8s
[+] Creating 3/3
✔ Network deepbi_default Created 0.1s
✔ Container deepbi-redis-1 Created 0.4s
✔ Container deepbi-postgres-1 Created 0.4s
[+] Running 2/2
✔ Container deepbi-redis-1 Started 0.6s
✔ Container deepbi-postgres-1 Started 0.6s
web_language : CN
DB_API_SECRET_KEY : xxxcbdxxxx62ac32aea8802ce586840c
DEEPBI_DATABASE_URL : postgresql://postgres@postgres/postgres
DEEPBI_DATABASE_URL : postgresql://postgres@postgres/postgres
[2024-05-01 01:18:15,590][PID:1][INFO][xmlschema] Resource 'XMLSchema.xsd' is already loaded
数据库初始化完毕
--------------------------------
下面开始启动DeepBI 下面是一些尝用命令
常用命令: (ubuntu need sudo)
docker-compose up # 创建容器,并启动容器
docker-compose up -d # 创建容器,并在后台运行容器
docker-compose start # 启动所有已经创建的容器,并后台运行
docker-compose start [container id /container name]# 启动单个服务容器
docker-compose stop [container id /container name]# 停止单个服务容器
docker-compose ps # 查看所有运行中的容器
--------------------------------
现在,创建并启动容器......
WARN[0000] /mnt/d/DeepBI/docker-compose.yml: `version` is obsolete
[+] Running 7/7
✔ email Pulled 550.3s
✔ 31e352740f53 Pull complete 34.9s
✔ 2629b68d4311 Pull complete 520.6s
✔ ddb7cc70f260 Pull complete 26.8s
✔ 18afe6373474 Pull complete 31.0s
✔ 02aff18a2536 Pull complete 44.1s
✔ 7476c7de0ad2 Pull complete 252.0s
[+] Running 8/8
✔ Container deepbi-postgres-1 Running 0.0s
✔ Container deepbi-email-1 Started 0.3s
✔ Container deepbi-redis-1 Running 0.0s
✔ Container deepbi-server-1 Started 0.3s
✔ Container deepbi-scheduler-1 Started 0.2s
✔ Container deepbi-server_ai_api-1 Started 0.2s
✔ Container deepbi-server_socket-1 Started 0.2s
✔ Container deepbi-worker-1 Started 0.2s
--------------------------------
启动成功,你可以访问 http://172.29.xxx.xxx:8338
--------------------------------
安装过程中会出现python:3.8.18-slim下载不成功,可以参考https://editor.csdn.net/md/?articleId=138366006解决。
再结合vs code和docker desktop就可以管理它的容器组了。