- 添加 WeasyPrint 依赖以支持 PDF 导出功能 - 新增 docker-entrypoint.sh 统一管理容器启动流程 - 添加容器健康检查机制(/health 端点) - 配置容器自动重启策略(unless-stopped) - 优化日志输出,仅使用 stdout 适配容器环境 - 改进 update-and-run.sh 添加健康状态检查 - 统一脚本中的 sudo 使用规范
70 lines
1.9 KiB
Bash
Executable File
70 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# FA3-Datafetch Docker 启动脚本
|
|
|
|
# 固定使用 sudo
|
|
DOCKER="sudo docker"
|
|
|
|
# 容器名称
|
|
CONTAINER_NAME="fa3-app"
|
|
|
|
# 环境变量配置
|
|
export PW_SERVICE_ID="FA5"
|
|
export PW_SERVER_ADDRS="https://bastion.3prism.ai"
|
|
export PW_LOCAL_PORT="3001"
|
|
|
|
# 数据库配置
|
|
export DB_HOST="192.168.3.195"
|
|
export DB_PORT="5432"
|
|
export DB_USER="value"
|
|
export DB_PASSWORD="Value609!"
|
|
export DB_NAME="fa3"
|
|
|
|
# AI API 配置
|
|
export GEMINI_API_KEY="AIzaSyAT5QXWoACp87oqg1OK4USTIwc2RsJHvIc"
|
|
export OPENAI_API_KEY="AIzaSyAT5QXWoACp87oqg1OK4USTIwc2RsJHvIc"
|
|
export OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
|
|
export LLM_MODEL="gemini-2.5-flash"
|
|
|
|
# TLS 证书路径
|
|
export TLS_CLIENT_CERT="/certs/client.crt"
|
|
export TLS_CLIENT_KEY="/certs/client.key"
|
|
|
|
# 证书文件路径(宿主机)
|
|
CERT_DIR="$(dirname "$0")/bastian"
|
|
CLIENT_CERT="$CERT_DIR/client.crt"
|
|
CLIENT_KEY="$CERT_DIR/client.key"
|
|
|
|
# 停止并删除旧容器
|
|
echo "停止旧容器..."
|
|
$DOCKER rm -f $CONTAINER_NAME 2>/dev/null || true
|
|
|
|
# 启动新容器
|
|
echo "启动新容器..."
|
|
$DOCKER run -d \
|
|
--name $CONTAINER_NAME \
|
|
--dns 8.8.8.8 \
|
|
--dns 8.8.4.4 \
|
|
--dns 114.114.114.114 \
|
|
--restart unless-stopped \
|
|
-e PW_SERVICE_ID="$PW_SERVICE_ID" \
|
|
-e PW_SERVER_ADDRS="$PW_SERVER_ADDRS" \
|
|
-e PW_LOCAL_PORT="$PW_LOCAL_PORT" \
|
|
-e DB_HOST="$DB_HOST" \
|
|
-e DB_PORT="$DB_PORT" \
|
|
-e DB_USER="$DB_USER" \
|
|
-e DB_PASSWORD="$DB_PASSWORD" \
|
|
-e DB_NAME="$DB_NAME" \
|
|
-e GEMINI_API_KEY="$GEMINI_API_KEY" \
|
|
-e OPENAI_API_KEY="$OPENAI_API_KEY" \
|
|
-e OPENAI_BASE_URL="$OPENAI_BASE_URL" \
|
|
-e LLM_MODEL="$LLM_MODEL" \
|
|
-e TLS_CLIENT_CERT="$TLS_CLIENT_CERT" \
|
|
-e TLS_CLIENT_KEY="$TLS_CLIENT_KEY" \
|
|
-v "$CLIENT_CERT:$TLS_CLIENT_CERT:ro" \
|
|
-v "$CLIENT_KEY:$TLS_CLIENT_KEY:ro" \
|
|
fa3-datafetch
|
|
|
|
echo "容器已启动!"
|
|
echo "查看日志: $DOCKER logs -f $CONTAINER_NAME"
|
|
echo "进入容器: $DOCKER exec -it $CONTAINER_NAME sh"
|