fix:目录创建挂载

This commit is contained in:
yyhuni
2025-12-27 21:44:47 +08:00
parent e2cbf98dda
commit 51e2c51748
6 changed files with 22 additions and 3 deletions

View File

@@ -277,6 +277,8 @@ class TaskDistributor:
# 挂载路径(所有节点统一使用固定路径)
host_results_dir = settings.HOST_RESULTS_DIR # /opt/xingrin/results
host_logs_dir = settings.HOST_LOGS_DIR # /opt/xingrin/logs
host_fingerprints_dir = settings.HOST_FINGERPRINTS_DIR # /opt/xingrin/fingerprints
host_wordlists_dir = settings.HOST_WORDLISTS_DIR # /opt/xingrin/wordlists
# 环境变量SERVER_URL + IS_LOCAL其他配置容器启动时从配置中心获取
# IS_LOCAL 用于 Worker 向配置中心声明身份,决定返回的数据库地址
@@ -296,6 +298,8 @@ class TaskDistributor:
volumes = [
f"-v {host_results_dir}:{self.results_mount}",
f"-v {host_logs_dir}:{self.logs_mount}",
f"-v {host_fingerprints_dir}:{host_fingerprints_dir}",
f"-v {host_wordlists_dir}:{host_wordlists_dir}",
]
# 构建命令行参数

View File

@@ -336,9 +336,11 @@ TASK_SUBMIT_INTERVAL = int(os.getenv('TASK_SUBMIT_INTERVAL', '6'))
DOCKER_NETWORK_NAME = os.getenv('DOCKER_NETWORK_NAME', 'xingrin_network')
# 宿主机挂载源路径(所有节点统一使用固定路径)
# 部署前需创建mkdir -p /opt/xingrin/{results,logs}
# 部署前需创建mkdir -p /opt/xingrin/{results,logs,fingerprints,wordlists}
HOST_RESULTS_DIR = '/opt/xingrin/results'
HOST_LOGS_DIR = '/opt/xingrin/logs'
HOST_FINGERPRINTS_DIR = '/opt/xingrin/fingerprints'
HOST_WORDLISTS_DIR = '/opt/xingrin/wordlists'
# ============================================
# Worker 配置中心(任务容器从 /api/workers/config/ 获取)

View File

@@ -108,7 +108,9 @@ create_dirs() {
log_info "创建数据目录..."
sudo mkdir -p "${MARKER_DIR}/results"
sudo mkdir -p "${MARKER_DIR}/logs"
sudo chmod -R 755 "${MARKER_DIR}"
sudo mkdir -p "${MARKER_DIR}/fingerprints"
sudo mkdir -p "${MARKER_DIR}/wordlists"
sudo chmod -R 777 "${MARKER_DIR}"
log_success "数据目录已创建"
}

View File

@@ -112,6 +112,8 @@ services:
volumes:
- /opt/xingrin/results:/app/backend/results
- /opt/xingrin/logs:/app/backend/logs
- /opt/xingrin/fingerprints:/opt/xingrin/fingerprints
- /opt/xingrin/wordlists:/opt/xingrin/wordlists
command: echo "Worker image built for development"
volumes:

View File

@@ -47,9 +47,11 @@ services:
redis:
condition: service_healthy
volumes:
# 统一使用固定路径部署时需创建mkdir -p /opt/xingrin/{results,logs}
# 统一使用固定路径部署时需创建mkdir -p /opt/xingrin/{results,logs,fingerprints,wordlists}
- /opt/xingrin/results:/app/backend/results
- /opt/xingrin/logs:/app/backend/logs
- /opt/xingrin/fingerprints:/opt/xingrin/fingerprints
- /opt/xingrin/wordlists:/opt/xingrin/wordlists
# Docker Socket 挂载:允许 Django 服务器执行本地 docker 命令(用于本地 Worker 任务分发)
- /var/run/docker.sock:/var/run/docker.sock
healthcheck:

View File

@@ -335,6 +335,13 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
fi
step "[3/3] 初始化配置"
# 创建数据目录
info "创建数据目录..."
mkdir -p /opt/xingrin/{results,logs,fingerprints,wordlists}
chmod -R 777 /opt/xingrin
success "数据目录已创建: /opt/xingrin/{results,logs,fingerprints,wordlists}"
DOCKER_DIR="$ROOT_DIR/docker"
if [ ! -d "$DOCKER_DIR" ]; then
error "未找到 docker 目录,请确认项目结构。"