部署指南
HealthGuard 设计为可私有化部署,数据完全存储在你的基础设施上。
前提条件
- Docker >= 24
- Docker Compose >= 2.20
方式一:Docker Compose 部署(推荐)
1. 下载部署模板
bash
# 克隆主项目
git clone https://github.com/Claud-Lu/healthguard.git
cd healthguard/deploy2. 配置环境变量
复制示例配置文件并修改:
bash
cp .env.example .env关键配置项:
| 变量 | 说明 | 默认值 |
|---|---|---|
COLLECTOR_PORT | Collector 服务端口 | 3100 |
DASHBOARD_PORT | Dashboard 服务端口 | 5175 |
DATABASE_URL | 数据库连接字符串 | sqlite://./data/healthguard.db |
JWT_SECRET | 用户认证密钥 | 必填,请修改为随机字符串 |
3. 启动服务
bash
docker compose up -d启动后访问:
| 服务 | 地址 |
|---|---|
| Dashboard | http://localhost:5175 |
| Collector API | http://localhost:3100 |
4. 更新与重启
bash
# 拉取最新镜像
docker compose pull
# 重启服务
docker compose up -d方式二:本地源码运行
适用于二次开发或调试:
bash
git clone https://github.com/Claud-Lu/healthguard.git
cd healthguard
yarn install
yarn dev:local详细步骤请参考 快速开始。
数据库配置
SQLite(默认,适合单机)
无需额外配置,数据保存在容器内的 ./data/healthguard.db。
建议挂载数据卷以持久化:
yaml
volumes:
- ./data:/app/dataPostgreSQL(生产推荐)
修改 .env:
bash
DATABASE_URL=postgresql://user:password@postgres:5432/healthguard并在 docker-compose.yml 中添加 PostgreSQL 服务:
yaml
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: healthguard
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:HTTPS 配置
使用 Nginx 反向代理
nginx
server {
listen 443 ssl http2;
server_name healthguard.your-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:5175;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /api/ {
proxy_pass http://localhost:3100;
proxy_set_header Host $host;
}
}使用 Cloudflare Tunnel(零配置 HTTPS)
bash
cloudflared tunnel --no-autoupdate run --token <YOUR_TOKEN>备份策略
- SQLite:定期备份
.db文件 - PostgreSQL:使用
pg_dump或设置 WAL 归档
常见问题
Q: 如何查看日志?
bash
docker compose logs -f collector
docker compose logs -f dashboardQ: 如何重置数据?
bash
docker compose down -v
rm -rf ./dataQ: Collector 端口冲突? 修改 .env 中的 COLLECTOR_PORT,然后 docker compose up -d。