
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
motion-base 是一个Web应用,旨在提供统一入口访问和处理来自不同国家数据库的地震动记录。它包含Web界面和Python客户端,支持通过编程方式访问数据。
查看演示网站。
!https://raw.githubusercontent.com/TLCFEM/motion-base/refs/heads/master/docs/screenshot.png
适用于地震工程研究、地震动数据分析、相关领域开发等场景,可帮助用户高效获取、处理和分析多来源地震动数据。
确保系统已安装 docker、curl 和 jq。以下命令将下载 example.sh 脚本并执行,拉取镜像并上传示例数据到应用:
bashcurl -s https://raw.githubusercontent.com/TLCFEM/motion-base/refs/heads/master/scripts/example.sh -o example.sh && bash example.sh
执行前建议检查脚本内容(尤其是来自互联网的脚本)。以下是脚本的操作演示:
https://raw.githubusercontent.com/TLCFEM/motion-base/refs/heads/master/docs/demo.gif]([***]
作为开发者
bash# 1. 克隆项目 git clone https://github.com/TLCFEM/motion-base.git cd motion-base # 2. 创建虚拟环境并安装Python依赖 python -m venv .venv source .venv/bin/activate pip install -e .[dev,client] # 3. 安装Node.js依赖 cd gui pnpm install cd ..
开发环境无需额外配置。本地运行应用:
bash# 1. 启动mongodb和rabbitmq docker compose -f docker/docker-compose.yml up -d # 2. 启动后端 python ./mb_runner.py # 3. 启动celery workers python ./mb_runner.py celery # 4. 启动前端 cd gui pnpm dev
分别使用 back.Dockerfile 和 front.Dockerfile 构建后端和前端Docker镜像。
作为主机部署
部署应用需两个文件:.env 和 docker-compose-production.yml。
bashmkdir motion-base && cd motion-base wget https://raw.githubusercontent.com/TLCFEM/motion-base/master/docker/.env wget https://raw.githubusercontent.com/TLCFEM/motion-base/master/docker/docker-compose-production.yml # 编辑.env文件设置正确值(或通过其他方式设置环境变量) docker compose -f docker-compose-production.yml up -d
应用可直接运行,但建议检查并调整设置。推荐每个容器一个进程,通过水平扩展应用。可参考 docker/docker-compose-production-nginx.yaml 示例,需同时获取 docker/nginx.conf.sh:
bashmkdir motion-base && cd motion-base wget https://raw.githubusercontent.com/TLCFEM/motion-base/master/docker/.env wget https://raw.githubusercontent.com/TLCFEM/motion-base/master/docker/nginx.conf.sh wget https://raw.githubusercontent.com/TLCFEM/motion-base/master/docker/docker-compose-production-nginx.yml docker compose -f docker-compose-production-nginx.yml up -d
也可使用Kubernetes、Docker Swarm等工具部署。
作为分析师
bash# 1. 克隆项目 git clone https://github.com/TLCFEM/motion-base.git cd motion-base # 2. 创建虚拟环境并安装Python依赖 python -m venv .venv source .venv/bin/activate pip install .[client]
使用客户端访问数据:
pythonimport anyio from mb.client import MBClient api_url = "http://应用部署地址" async def search(): async with MBClient(api_url) as client: results = await client.search({"min_magnitude": 6.0, "min_pga": 200.0}) for r in results: print(r) if __name__ == "__main__": anyio.run(search)
从数据源下载原始数据后,可上传至应用:
pythonimport anyio from mb.client import MBClient # 假设应用本地运行 api_url = "http://localhost:8000" # 使用默认凭据 username = "test" password = "password" region = "jp" # 假设当前文件夹包含待上传文件 async def upload(): async with MBClient(api_url, username, password) as client: await client.upload(region, '.') if __name__ == "__main__": anyio.run(upload)
日本
原始数据可从强震观测网获取。ASCII格式的波形文件 *.EW、*.NS 和 *.UD 可上传并解析。
新西兰
原始数据可从强震数据产品获取。波形文件 *.V1A 和 *.V2A 可上传并解析。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务