Resgrid/Dispatch
GitHub: Resgrid/Dispatch
Resgrid Dispatch 是一个面向第一响应者的开源计算机辅助调度前端,解决事件创建、分配与实时跟踪的管理痛点。
Stars: 21 | Forks: 6
# Resgrid Dispatch
Resgrid Dispatch 是一个 Ionic 渐进式 Web 应用程序(PWA)、移动应用和 Electron 应用,旨在为 Resgrid 的计算机辅助调度(CAD)用户界面提供调度员使用。
## 关于 Resgrid
Resgrid 是一个面向第一响应者、企业和工业环境的开源计算机辅助调度(CAD)解决方案。
## 配置
你需要创建一个 `.env` 文件
```
// .env
BASE_API_URL=
API_URL=
CHANNEL_URL=
CHANNEL_HUB_NAME=
LOG_LEVEL=
OSM_MAP_KEY=
GOOGLE_MAPS_KEY=
LOGGING_KEY=
```
## 设置
### .env 值
## Docker 部署
### 构建 Docker 镜像
```
# 构建 Docker 镜像
yarn docker:build
# 或直接使用 docker
docker build -t resgrid-dispatch-web .
```
### 使用 Docker 运行
1. 复制示例环境文件:
```
cp .env.docker.example .env.docker
```
2. 使用你的配置值编辑 `.env.docker`。
3. 运行容器:
```
# 使用 yarn 脚本
yarn docker:run
# 或使用 docker-compose
yarn docker:up
```
### Docker 环境变量
以下环境变量可以在运行时设置(无需重新构建):
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `DISPATCH_BASE_API_URL` | `https://api.resgrid.com` | Resgrid API 的基础 URL |
| `DISPATCH_API_VERSION` | `v4` | API 版本 |
| `DISPATCH_RESGRID_API_URL` | `/api/v4` | API 路径 |
| `DISPATCH_CHANNEL_HUB_NAME` | `eventingHub` | SignalR 事件中心名称 |
| `DISPATCH_REALTIME_GEO_HUB_NAME` | `geolocationHub` | SignalR 地理位置中心名称 |
| `DISPATCH_LOGGING_KEY` | `` | 日志记录 API 密钥 |
| `DISPATCH_APP_KEY` | `` | 应用程序密钥 |
| `DISPATCH_MAPBOX_PUBKEY` | `` | Mapbox 公钥 |
| `DISPATCH_SENTRY_DSN` | `` | 用于错误跟踪的 Sentry DSN |
| `DISPATCH_COUNTLY_APP_KEY` | `` | Countly 分析应用程序密钥 |
| `DISPATCH_COUNTLY_SERVER_URL` | `` | Countly 服务器 URL |
| `DISPATCH_MAINTENANCE_MODE` | `false` | 启用维护模式 |
### Docker 命令
```
# 构建镜像
yarn docker:build
# 运行带有环境文件的容器
yarn docker:run
# 使用 docker-compose(分离模式)启动
yarn docker:up
# 停止 docker-compose 服务
yarn docker:down
# 查看日志
yarn docker:logs
```
### 手动运行 Docker
```
docker run -d \
-p 3000:80 \
-e DISPATCH_BASE_API_URL=https://api.resgrid.com \
-e DISPATCH_API_VERSION=v4 \
-e DISPATCH_MAPBOX_PUBKEY=your_mapbox_key \
--name resgrid-dispatch \
resgrid-dispatch-web
```
### 从 Docker Hub 拉取
```
docker pull resgridllc/dispatch
```
## 作者
* Shawn Jackson(Twitter: @DesignLimbo 博客: http://designlimbo.com)
* Jason Jarrett(Twitter: @staxmanade 博客: http://staxmanade.com)
## 许可证
[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)
## 致谢
| 设置 | 描述 |
|---|---|
| BASE_API_URL | 与 Resgrid API(服务)进行通信的基础 URL。对于我们托管的生产系统,这是 "https://api.resgrid.com" |
| API_URL | BASE_API_URL 的版本 API 路径。对于托管系统,默认是 "/api/v4" |
| CHANNEL_URL | 连接到我们托管生产系统的 SignalR 中心的 URL。这是 "https://events.resgrid.com/" |
| CHANNEL_HUB_NAME | 要连接以接收事件的 SignalR 中心名称。托管系统的默认值是 "eventingHub" |
| LOG_LEVEL | Ngx-ResgridLib 库的日志级别:0 = 调试及以上,1 = 警告及以上,2 = 仅错误,-1 = 关闭 |
| OSM_MAP_KEY | MapTiler.com 的 API 密钥 |
| GOOGLE_MAPS_KEY | Google Maps 的 API 密钥,请确保其地理编码正向和反向权限以及 API 可用。 |
| LOGGING_KEY | Sentry.io 日志记录密钥 |
标签:CAD, Docker, Electron, Google Maps, MapTiler, PWA, Sentry, SignalR, Web 应用, 事件驱动, 地图, 安全防御评估, 实时通信, 库, 应急响应, 开源, 持续部署, 日志, 渐进式 Web 应用, 环境配置, 移动应用, 自动化攻击, 计算机辅助调度, 请求拦截, 调度员