主题
部署
一条 compose 起全栈:nginx(HTTPS + 静态托管 + 反代)+ server + ClickHouse。
前置
- 云主机装好 Docker 与 Docker Compose
- 域名 DNS A 记录指向主机
- certbot 申请证书并挂到
deploy/certs/:
bash
sudo certbot certonly --standalone -d monitor.example.com
mkdir -p deploy/certs
ln -s /etc/letsencrypt/live/monitor.example.com/fullchain.pem deploy/certs/fullchain.pem
ln -s /etc/letsencrypt/live/monitor.example.com/privkey.pem deploy/certs/privkey.pem启动
bash
cp .env.example .env # 至少填 ADMIN_ORIGIN / MONITOR_ADMIN_PASSWORD
sed -i 's/__DOMAIN__/monitor.example.com/' deploy/nginx.conf
docker compose -f docker-compose.prod.yml up -d --build站点地图
| 路径 | 内容 |
|---|---|
/ | 产品落地页 |
/admin/ | 管理后台 |
/docs/ | 本文档站 |
/api/ | 监控服务端 |
初始超管密码
- 设置了
MONITOR_ADMIN_PASSWORD→ 即该值 - 未设置(生产)→ 首启生成随机密码,写入数据卷的
initial-admin-password.txt(0600 权限):
bash
docker compose -f docker-compose.prod.yml exec server cat /data/initial-admin-password.txt
# 登录后立即修改密码,并删除该文件
docker compose -f docker-compose.prod.yml exec server rm /data/initial-admin-password.txt数据与备份
| 卷 | 内容 |
|---|---|
clickhouse-data | 事件明细与聚合 |
server-data | 注册表/用户/规则(monitor.db)、sourcemap、报表产物 |
备份直接快照两个卷即可。
升级
bash
git pull && docker compose -f docker-compose.prod.yml up -d --build