# TOOLS.md - MileStone AI 开发环境

## 服务器信息
- **IP**: 217.216.32.230 (新加坡 VPS)
- **OS**: Ubuntu 22.04
- **内存**: 12GB (约 8GB 可用)
- **磁盘**: 194GB (已用 25GB)
- **Node.js**: v22.22.0 (fnm 管理)
- **Java**: 通过 Docker 容器运行 (jsherp 容器内)

## 数据库
- **MariaDB**: 11.4.10 (MySQL 兼容)
- **Host**: 127.0.0.1:3306
- **用户**: root / Qweewqzzx1
- **ERP 数据库**: jsh_erp
- **Redis**: 127.0.0.1:6379 (无密码)

## ERP 系统 (jshERP / 华夏ERP)
### 后端
- **框架**: Spring Boot + MyBatis-Plus
- **源码**: /root/jshERP/jshERP-boot/
- **运行方式**: Docker 容器 "jsherp" (network_mode: host)
- **端口**: 9999
- **API 前缀**: /jshERP-boot/
- **配置**: /root/jshERP/jshERP-boot/src/main/resources/application.properties

### 前端
- **框架**: Vue 2.7 + Ant Design Vue 1.5.2 + vue-cli
- **源码**: /root/jshERP/jshERP-web/
- **部署目录**: /opt/jshERP-web/
- **构建**: cd /root/jshERP/jshERP-web && npm run build
- **部署**: cp -r dist/* /opt/jshERP-web/
- **域名**: https://erp.puro.im

### 主题配置
- **主色**: #00458a (深蓝)
- **导航**: dark 模式
- **Logo 背景**: #001a3a
- **配置文件**: defaultSettings.js, vue.config.js, main.js, index.less, Logo.vue
- **注意**: main.js 中强制覆盖 config.primaryColor，防止 localStorage 缓存旧颜色

## DevOps 服务
| 服务 | 域名 | 端口 | 路径 |
|------|------|------|------|
| Gitea | git.puro.im | 3000 | /opt/devops/gitea/ |
| Drone CI | devops.puro.im | 8080 | /opt/devops/drone/ |
| Grafana | monitor.puro.im | 3001 | /opt/devops/monitoring/ |
| Portainer | portainer.puro.im | 9000 | - |
| Prometheus | - | 9090 | /opt/devops/monitoring/ |
| Loki | - | 3100 | /opt/devops/monitoring/ |
| Mattermost | im.puro.im | 8065 | /opt/devops/mattermost/ |
| OpenClaw | claw.puro.im | 18790 | systemd service |

## 反向代理 (Caddy)
- **配置目录**: /etc/caddy/conf.d/
- **主配置**: /etc/caddy/Caddyfile (import conf.d/*.conf)
- **重载**: caddy reload --config /etc/caddy/Caddyfile
- **SSL**: Caddy 自动管理 (Let's Encrypt)

## Docker 容器
| 容器 | 镜像 | 说明 |
|------|------|------|
| jsherp | jsherp:latest | ERP 后端 (host network) |
| redis | redis:7-alpine | 缓存 |
| mattermost-mattermost-1 | mattermost-team-edition | IM 系统 |
| mattermost-postgres-1 | postgres:15 | Mattermost 数据库 |
| gitea | gitea/gitea | 代码仓库 |
| drone-server | drone/drone:2 | CI/CD |
| grafana | grafana/grafana | 监控面板 |
| prometheus | prom/prometheus | 指标收集 |
| loki | grafana/loki | 日志收集 |
| portainer | portainer/portainer-ce | Docker 管理 |

## 开发规范
1. **前端修改**: 改源码 → npm run build → cp dist/* /opt/jshERP-web/ → 浏览器刷新
2. **后端修改**: 改源码 → Docker 容器内重新构建/重启
3. **数据库变更**: 先备份再操作，记录 SQL 变更
4. **Git**: 清晰的 commit message，中英文均可
5. **安全**: 不暴露密码和 API Key，不删除生产数据
6. **颜色**: 全局使用 #00458a 深蓝主题，不使用旧的 #1890FF
