Lobe Chat openai claude

claude-3-5-sonnet-20240620

$ docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxxx \
  -e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
  -e ACCESS_CODE=lobe66 \
  --name lobe-chat \
  lobehub/lobe-chat

在这里插入图片描述

Docker 部署 更新

docker ps
CONTAINER ID   IMAGE                      COMMAND                   CREATED       STATUS       PORTS                                       NAMES
5b2633ff1671   lobehub/lobe-chat          "docker-entrypoint.s…"   9 hours ago   Up 9 hours   0.0.0.0:3210->3210/tcp, :::3210->3210/tcp   lobe-chat

停止并删除当前运行的 LobeChat 容器

docker stop lobe-chat
docker rm lobe-chat

拉取最新的 LobeChat 镜像

docker pull lobehub/lobe-chat

重新启动 Docker 容器

docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxxx \
  -e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
  -e ACCESS_CODE=lobe66 \
  --name lobe-chat \
  lobehub/lobe-chat

Crontab 自动更新脚本

crontab -l
# 更新 lobe-chat
*/5 * * * * /root/lobe-chat/auto-update-lobe-chat.sh >> /root/lobe-chat/auto-update-lobe-chat.log 2>&1
/root/lobe-chat/auto-update-lobe-chat.sh
#!/bin/bash
# auto-update-lobe-chat.sh

# 记录日志的文件
LOG_FILE="/var/log/lobe-chat-update.log"

# 记录日志函数
log() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a $LOG_FILE
}

# 拉取最新的镜像并将输出存储在变量中
output=$(docker pull lobehub/lobe-chat:latest 2>&1)

# 检查拉取命令是否成功执行
if [ $? -ne 0 ]; then
  log "Failed to pull the latest image: $output"
  exit 1
fi

# 检查输出中是否包含特定的字符串
echo "$output" | grep -q "Image is up to date for lobehub/lobe-chat:latest"

# 如果镜像已经是最新的,则不执行任何操作
if [ $? -eq 0 ]; then
  log "Image is already up to date."
  exit 0
fi

log "Detected Lobe-Chat update"

# 停止容器
stop_output=$(docker stop lobe-chat 2>&1)
if [ $? -ne 0 ]; then
  log "Failed to stop the container: $stop_output"
  exit 1
fi
log "Stop: $stop_output"

# 删除旧的容器
remove_output=$(docker rm -f Lobe-Chat 2>&1)
if [ $? -ne 0 ]; then
  log "Failed to remove the container: $remove_output"
  exit 1
fi
log "Removed: $remove_output"

# 运行新的容器
run_output=$(docker run -d --network=host --env-file /root/lobe-chat/lobe.env --name=Lobe-Chat --restart=always lobehub/lobe-chat 2>&1)
if [ $? -ne 0 ]; then
  log "Failed to start the new container: $run_output"
  exit 1
fi
log "Started: $run_output"

# 打印更新的时间和版本
update_time=$(date)
version=$(docker inspect lobehub/lobe-chat:latest | grep 'org.opencontainers.image.version' | awk -F'"' '{print $4}')
log "Update time: $update_time"
log "Version: $version"

# 清理不再使用的镜像
cleanup_output=$(docker images | grep 'lobehub/lobe-chat' | grep -v 'latest' | awk '{print $3}' | xargs -r docker rmi 2>&1)
log "Removed old images: $cleanup_output"

log "Update process completed successfully."

参考

  1. Lobe Chat
  2. 更新
  3. Crontab 自动更新脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值