如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Sirius 是一款开源漏洞扫描器,具备自动发现、基于 CVE 的检测功能和现代化 Web UI。克隆代码库,运行四个命令,即可开始扫描。
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.installer.yaml run --rm sirius-installer
docker compose up -d
打开 http://localhost:3000 并登录:
| ******* | admin@example.com |
| 密码 | 由安装程序生成(在输出中查找 INITIAL_ADMIN_PASSWORD) |
操作完成。所有六个服务将自动启动。安装程序在首次运行时会生成安全密钥,且可安全地重复运行。
默认情况下,安装程序未设置 IMAGE_TAG,因此 Compose 会从 GHCR 拉取 latest 标签镜像。如需固定版本(例如在 .env 中设置 v1.0.0),请确保该标签已存在于所有六个容器镜像中;可通过未登录 ghcr.io 的终端运行 bash scripts/verify-ghcr-public-access.sh v1.0.0 进行验证。
[!IMPORTANT] 要求:Docker Engine 20.10+ 并带有 Compose V2,4 GB 内存,10 GB 磁盘空间。支持 Linux、macOS 和 Windows(WSL2)。
X-API-Key 认证)安装步骤始终相同,仅 docker compose up 命令有所变化。
| 模式 | 命令 | 使用场景 |
|---|---|---|
| 标准模式 | docker compose up -d | 大多数用户——从 GHCR 拉取完整发布栈 |
| 开发模式 | docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d | 本地代码开发时的热重载 |
| 源码构建模式 | docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build | 显式本地全栈构建 |
| 生产模式 | docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d | 强化设置,pull_policy: always |
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secrets
docker compose up -d
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --force
docker compose up -d --force-recreate
docker compose ps # 所有 6 个服务应显示 "healthy" 或 "running"
curl http://localhost:3000 # UI 响应
curl http://localhost:9001/health # API 响应
预期服务:sirius-ui(3000)、sirius-api(9001)、sirius-engine(5174、50051)、sirius-postgres(5432)、sirius-rabbitmq(5672、***)、sirius-valkey(6379)。
graph TD
subgraph clients [客户端]
UI["Sirius UI (Next.js)"]
CLI["终端和代理运行时"]
end
subgraph core [核心服务]
API["Sirius API (Go/Gin)"]
Engine["Sirius Engine"]
end
subgraph infra [基础设施]
MQ["RabbitMQ"]
DB["PostgreSQL"]
Cache["Valkey"]
end
UI -->|"HTTP/WebSocket"| API
CLI -->|"gRPC"| Engine
API -->|"AMQP 发布"| MQ
MQ -->|"队列消费"| Engine
API -->|"SQL 读写"| DB
Engine -->|"SQL 读写"| DB
API -->|"会话/缓存操作"| Cache
Engine -->|"扫描状态缓存操作"| Cache
| 服务 | 技术栈 | 端口 | 用途 |
|---|---|---|---|
| sirius-ui | Next.js 14、React、Tailwind | 3000 | Web 界面 |
| sirius-api | Go、Gin | 9001 | REST API 和业务逻辑 |
| sirius-engine | Go + 嵌入式 gRPC 代理 | 5174、50051 | 扫描器、终端、代理服务 |
| sirius-postgres | PostgreSQL 15 | 5432 | 漏洞和扫描数据 |
| sirius-rabbitmq | RabbitMQ | 5672、*** | 服务间消息传递 |
| sirius-valkey | Valkey(兼容 Redis) | 6379 | 缓存和会话数据 |
| 仪表板 | 扫描器 | 漏洞导航器 |
|---|
| 环境 | 主机详情 | 终端 |
|---|
Sirius 在端口 9001 上公开 REST 端点,受内部服务 API 密钥保护。建议使用 Docker 密钥文件(SIRIUS_API_KEY_FILE,默认 /run/secrets/sirius_api_key);SIRIUS_API_KEY 仍作为环境变量 fallback 受支持。安装程序会写入 ./secrets/sirius_api_key.txt(权限 0644,以便非 root 应用 UID 可读取绑定挂载的密钥)并配置两者。
curl http://localhost:9001/health -H "X-API-Key: $SIRIUS_API_KEY"
curl http://localhost:9001/api/v1/scan/get/all -H "X-API-Key: $SIRIUS_API_KEY"
完整 API 文档:REST API 参考
生产环境部署建议:
--force 运行安装程序以重新生成所有凭据docker compose pull && docker compose up -d常见问题的快速解决方法:
| 问题 | 解决方法 |
|---|---|
| 服务无法启动 | docker compose logs 查看错误 |
| 开发覆盖层缺少基础设施 | 同时使用两个文件:-f docker-compose.yaml -f docker-compose.dev.yaml |
| 端口冲突 | lsof -i :3000 查找冲突进程 |
| 数据库连接错误 | docker exec sirius-postgres pg_isready |
| 重置后密钥失效 | 重新运行安装程序,然后执行 docker compose up -d --force-recreate |
有关详细的操作手册、验证流程和紧急恢复,请参见 操作与故障排除。
开发设置、编码标准和 PR 指南参见 CONTRIBUTING.md。
MIT
来自真实用户的反馈,见证轩辕镜像的优质服务