docs(deploy): 服务器镜像部署与在线更新

This commit is contained in:
ddcat666
2026-10-13 20:55:20 +08:00
parent fb03cfca1e
commit c68645931c
6 changed files with 59 additions and 27 deletions

View File

@@ -135,6 +135,9 @@ prepare_environment() {
step "生成 PostgreSQL 随机密码和部署配置"
local database_password
database_password="$(openssl rand -hex 32)"
CANVAS_BACKEND_IMAGE="${IMAGE_REPOSITORY}-backend:${CANVAS_IMAGE_TAG}"
CANVAS_WEB_IMAGE="${IMAGE_REPOSITORY}-web:${CANVAS_IMAGE_TAG}"
CANVAS_YINGCE_AGENT_IMAGE="${IMAGE_REPOSITORY}-yingce-agent:${CANVAS_IMAGE_TAG}"
umask 077
cat >.env <<EOF
POSTGRES_DB=open_ai_canvas
@@ -185,6 +188,9 @@ install_host_updater() {
curl -fsSL "$UPDATER_INSTALL_URL" -o "$installer"
INSTALL_DIR="$INSTALL_DIR" bash "$installer"
rm -f "$installer"
step "重建 backend 以启用在线更新"
docker compose --env-file .env -f "$COMPOSE_FILE" up -d --no-deps --force-recreate --wait --wait-timeout 600 backend
}
start_services() {

View File

@@ -104,6 +104,11 @@ POSTGRES_USER=open_ai_canvas
POSTGRES_PASSWORD=${database_password}
DATABASE_URL=postgresql://open_ai_canvas:${database_password}@postgres:5432/open_ai_canvas?sslmode=disable
CANVAS_HTTP_PORT=${CANVAS_HTTP_PORT}
CANVAS_IMAGE_TAG=source
CANVAS_BACKEND_IMAGE=open-ai-canvas-backend:server
CANVAS_WEB_IMAGE=open-ai-canvas-web:server
CANVAS_YINGCE_AGENT_IMAGE=open-ai-canvas-yingce-agent:server
YINGCE_AGENT_TOKEN=$(openssl rand -hex 32)
CANVAS_REGISTRATION_ENABLED=false
CANVAS_ALLOW_PRIVATE_UPSTREAMS=false
CANVAS_ALLOWED_PRIVATE_UPSTREAM_HOSTS=
@@ -112,9 +117,9 @@ EOF
}
start_services() {
step "从源码构建网页与后端镜像"
step "从源码构建网页、后端和 Agent 镜像"
# 标准一键部署已下载完整仓库,直接本地构建可避免公开项目被 GHCR 包可见性阻断。
docker compose --env-file .env -f "$COMPOSE_FILE" -f "$BUILD_COMPOSE_FILE" build backend web
docker compose --env-file .env -f "$COMPOSE_FILE" -f "$BUILD_COMPOSE_FILE" build migrate backend web yingce-agent
step "启动 PostgreSQL、Redis、后端和网页服务"
docker compose --env-file .env -f "$COMPOSE_FILE" -f "$BUILD_COMPOSE_FILE" up -d --remove-orphans --wait --wait-timeout 600