diff --git a/docker/docker-compose-dev.yaml b/docker/docker-compose-dev.yaml index df5e6628..6ac98fac 100644 --- a/docker/docker-compose-dev.yaml +++ b/docker/docker-compose-dev.yaml @@ -153,6 +153,7 @@ services: create_host_path: true working_dir: /app environment: + - TZ=Asia/Shanghai - CI=true - DEER_FLOW_HOME=/app/backend/.deer-flow - DEER_FLOW_CHANNELS_LANGGRAPH_URL=${DEER_FLOW_CHANNELS_LANGGRAPH_URL:-http://langgraph:2024} @@ -210,6 +211,7 @@ services: create_host_path: true working_dir: /app environment: + - TZ=Asia/Shanghai - CI=true - DEER_FLOW_HOME=/app/backend/.deer-flow - DEER_FLOW_HOST_BASE_DIR=${DEER_FLOW_ROOT}/backend/.deer-flow diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index a3c2a1b4..7fd7152f 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -74,6 +74,8 @@ services: # via host.docker.internal:8001 - "8001:8001" volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro - ${DEER_FLOW_CONFIG_PATH}:/app/backend/config.yaml:ro - ${DEER_FLOW_EXTENSIONS_CONFIG_PATH}:/app/backend/extensions_config.json:ro - ../skills:/app/skills:ro @@ -95,6 +97,7 @@ services: create_host_path: true working_dir: /app environment: + - TZ=Asia/Shanghai - CI=true - DEER_FLOW_HOME=/app/backend/.deer-flow - DEER_FLOW_CHANNELS_LANGGRAPH_URL=${DEER_FLOW_CHANNELS_LANGGRAPH_URL:-http://langgraph:2024} @@ -123,8 +126,10 @@ services: UV_IMAGE: ${UV_IMAGE:-ghcr.io/astral-sh/uv:0.7.20} UV_INDEX_URL: ${UV_INDEX_URL:-https://pypi.org/simple} container_name: deer-flow-langgraph - command: sh -c 'cd /app/backend && allow_blocking_flag="" && if [ "${LANGGRAPH_ALLOW_BLOCKING:-0}" = "1" ]; then allow_blocking_flag="--allow-blocking"; fi && uv run langgraph dev --no-browser ${allow_blocking_flag} --no-reload --host 0.0.0.0 --port 2024 --n-jobs-per-worker ${LANGGRAPH_JOBS_PER_WORKER:-10}' + command: sh -c 'cd /app/backend && allow_blocking_flag="" && if [ "${LANGGRAPH_ALLOW_BLOCKING:-0}" = "1" ]; then allow_blocking_flag="--allow-blocking"; fi && uv run langgraph dev --no-browser --allow-blocking --no-reload --host 0.0.0.0 --port 2024 --n-jobs-per-worker ${LANGGRAPH_JOBS_PER_WORKER:-10}' volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro - ${DEER_FLOW_CONFIG_PATH}:/app/backend/config.yaml:ro - ${DEER_FLOW_EXTENSIONS_CONFIG_PATH}:/app/backend/extensions_config.json:ro - ${DEER_FLOW_HOME}:/app/backend/.deer-flow @@ -146,6 +151,7 @@ services: bind: create_host_path: true environment: + - TZ=Asia/Shanghai - CI=true - DEER_FLOW_HOME=/app/backend/.deer-flow - DEER_FLOW_CONFIG_PATH=/app/backend/config.yaml diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 66df240e..f30cbcd6 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -135,6 +135,28 @@ detect_sandbox_mode() { fi } +# ── restart ─────────────────────────────────────────────────────────────────── + +if [ "$CMD" = "restart" ]; then + SERVICE="$2" + if [ -z "$SERVICE" ]; then + echo -e "${RED}✗ Usage: $0 restart {service}${NC}" + exit 1 + fi + # 保证变量和 up 一致 + export DEER_FLOW_HOME="${DEER_FLOW_HOME:-$REPO_ROOT/backend/.deer-flow}" + export DEER_FLOW_CONFIG_PATH="${DEER_FLOW_CONFIG_PATH:-$DEER_FLOW_HOME/config.yaml}" + export DEER_FLOW_EXTENSIONS_CONFIG_PATH="${DEER_FLOW_EXTENSIONS_CONFIG_PATH:-$DEER_FLOW_HOME/extensions_config.json}" + export DEER_FLOW_DOCKER_SOCKET="${DEER_FLOW_DOCKER_SOCKET:-/var/run/docker.sock}" + export DEER_FLOW_REPO_ROOT="${DEER_FLOW_REPO_ROOT:-$REPO_ROOT}" + export BETTER_AUTH_SECRET="${BETTER_AUTH_SECRET:-placeholder}" + # 检查服务名有效性(可选) + # shellcheck disable=SC2086 + echo -e "${BLUE}Restarting service: $SERVICE${NC}" + "${COMPOSE_CMD[@]}" restart "$SERVICE" + exit 0 +fi + # ── down ────────────────────────────────────────────────────────────────────── if [ "$CMD" = "down" ]; then