feat(deploy): add containerized deployment configuration and scripts
- Add Dockerfile for frontend and server services - Add Docker Compose configs (standard and offline mode) - Add nginx.conf for admin-web service - Add deploy scripts: package.sh (packaging) and load-and-start.sh (startup) - Add deploy/config.yaml, .env.example, and prompts.yml configurations - Add image management design specification doc
This commit is contained in:
Executable
+56
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
# load-and-start.sh — 在【离线目标服务器】上运行
|
||||
# 加载镜像并启动所有服务
|
||||
#
|
||||
# 用法(解压部署包后):
|
||||
# bash deploy.sh
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# 读取打包时记录的元数据
|
||||
if [[ -f "${SCRIPT_DIR}/.package-meta" ]]; then
|
||||
source "${SCRIPT_DIR}/.package-meta"
|
||||
fi
|
||||
IMAGE_TAG="${IMAGE_TAG:-latest}"
|
||||
LOCAL_PREFIX="${LOCAL_PREFIX:-geo-rankly}"
|
||||
|
||||
# ─── 检查 .env ────────────────────────────────────────────────────────────────
|
||||
if [[ ! -f "${SCRIPT_DIR}/.env" ]]; then
|
||||
echo "❌ 未找到 .env 文件,请先执行:"
|
||||
echo " cp .env.example .env && vi .env"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ─── Step 1: 加载镜像 ─────────────────────────────────────────────────────────
|
||||
echo "==> [1/3] 加载 Docker 镜像(可能需要几分钟)..."
|
||||
docker load -i "${SCRIPT_DIR}/images.tar"
|
||||
echo " 镜像加载完成"
|
||||
docker images | grep -E "geo-rankly|postgres|rabbitmq|redis|qdrant|minio" | head -20
|
||||
|
||||
# ─── Step 2: 设置 IMAGE_REGISTRY 为本地前缀 ──────────────────────────────────
|
||||
echo "==> [2/3] 配置离线镜像引用..."
|
||||
export IMAGE_REGISTRY="${LOCAL_PREFIX}"
|
||||
export IMAGE_TAG="${IMAGE_TAG}"
|
||||
|
||||
# ─── Step 3: 启动服务 ─────────────────────────────────────────────────────────
|
||||
echo "==> [3/3] 启动所有服务..."
|
||||
cd "${SCRIPT_DIR}"
|
||||
docker compose \
|
||||
-f docker-compose.yaml \
|
||||
-f docker-compose.offline.yaml \
|
||||
--env-file .env \
|
||||
up -d
|
||||
|
||||
echo ""
|
||||
echo "✅ 部署完成!"
|
||||
echo ""
|
||||
echo "服务状态:"
|
||||
docker compose -f docker-compose.yaml -f docker-compose.offline.yaml ps
|
||||
echo ""
|
||||
echo "查看日志: docker compose -f docker-compose.yaml logs -f tenant-api"
|
||||
echo "停止服务: docker compose -f docker-compose.yaml down"
|
||||
echo "管理界面:"
|
||||
echo " RabbitMQ: http://<server-ip>:15672 (geo / geo_dev)"
|
||||
echo " MinIO: http://<server-ip>:9001 (minioadmin / minioadmin)"
|
||||
Reference in New Issue
Block a user