一、Weaviate容器启动脚本

docker run -d \
  --name weaviate \
  --restart=always \
  -p 8080:8080 \
  -p 50051:50051 \
  -v /data/weaviate:/var/lib/weaviate \
  --memory 4g \
  --cpus 2 \
  -e TZ=Asia/Shanghai \
  -e WEAVIATE_HOSTNAME=0.0.0.0 \
  -e PERSISTENCE_DATA_PATH=/var/lib/weaviate \
  -e QUERY_DEFAULTS_LIMIT=100 \
  -e AUTHENTICATION_APIKEY_ENABLED=true \
  -e AUTHENTICATION_APIKEY_ALLOWED_KEYS=test-secret-key,test2-secret-key \
  -e AUTHENTICATION_APIKEY_USERS=test@2024.com,test2@2024.com \
  -e AUTHORIZATION_ADMINLIST_ENABLED=true \
  -e AUTHORIZATION_ADMINLIST_USERS=test@2024.com \
  -e AUTHORIZATION_ADMINLIST_READONLY_USERS=test2@2024.com \
  --log-driver json-file \
  --log-opt max-size=500m \
  --log-opt max-file=3 \
  --health-cmd "wget -q --spider http://127.0.0.1:8080/v1/.well-known/ready" \
  --health-interval 30s \
  --health-timeout 10s \
  --health-retries 3 \
  m.daocloud.io/docker.io/semitechnologies/weaviate:latest

验证容器:

docker ps | grep weaviate

二、Linux 部署 WeavyAdmin(后端服务,提供接口供Windows客户端连接)

在这里插入图片描述

1. 安装Python3.10+基础环境

CentOS7/CentOS Stream/RHEL
yum install python3 python3-pip unzip wget -y
# 若python3版本低于3.10,需升级python3.10
Ubuntu/Debian
apt update && apt install python3 python3-pip unzip wget -y

2. 下载解压源码

mkdir -p /opt/weavy-admin && cd /opt/weavy-admin
wget https://github.com/Shah91n/weavy-admin/archive/refs/tags/v1.3.0.zip
unzip v1.3.0.zip
cd weavy-admin-1.3.0

3. 安装依赖(清华源)

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 后台常驻启动两种方案

方案A:nohup 简易后台运行
# 开放0.0.0.0允许Windows机器访问,默认端口5000
nohup python3 main.py --host 0.0.0.0 --port 5000 > weavy-admin.log 2>&1 &
# 查看日志
tail -f weavy-admin.log
# 查看进程
ps aux | grep main.py
方案B:systemd 系统服务(推荐生产,开机自启、故障自动重启)

创建服务文件

cat > /etc/systemd/system/weavy-admin.service <<EOF
[Unit]
Description=WeavyAdmin Weaviate Web Manager
After=network.target docker.service

[Service]
User=root
WorkingDirectory=/opt/weavy-admin/weavy-admin-1.3.0
ExecStart=/usr/bin/python3 main.py --host 0.0.0.0 --port 5000
Restart=on-failure
RestartSec=10
StandardOutput=journal+console
StandardError=journal+console

[Install]
WantedBy=multi-user.target
EOF

加载并启动服务

systemctl daemon-reload
systemctl start weavy-admin
systemctl enable weavy-admin
# 查看状态
systemctl status weavy-admin
# 实时日志
journalctl -u weavy-admin -f

三、防火墙放行端口(关键,否则Windows无法连接)

CentOS firewalld

# Weaviate端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=50051/tcp --permanent
# WeavyAdmin后台端口
firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload

Ubuntu ufw

ufw allow 8080/tcp
ufw allow 50051/tcp
ufw allow 5000/tcp
ufw reload

更多推荐