====== 🚀 DV IT Infrastructure Platform - 项目总览 ====== **项目名称**: DV IT Infrastructure Platform **公司**: DISCOUNT VAPOR 1999 LIMITED **技术负责人**: David **联系邮箱**: discountvapor2025@gmail.com **更新日期**: 2025年1月 ===== 🎯 项目目标 ===== ==== 核心愿景 ==== 为DISCOUNT VAPOR 1999 LIMITED构建一个完整的企业级IT基础设施平台,支持4家门店的统一管理和数字化转型。 ==== 技术架构 ==== * **本地开发**: Windows 11笔记本 + Ubuntu虚拟机完整模拟生产环境 * **生产部署**: Hostinger VPS + Cloudflare DNS + Let's Encrypt SSL * **容器化**: Docker Compose统一管理所有服务 * **自动化**: Traefik反向代理 + 自动SSL证书管理 ==== 业务价值 ==== * **效率提升**: 自动化业务流程,减少90%重复性工作 * **数据统一**: 多门店数据集中管理,实时同步 * **合规管理**: 统一的产品信息和合规要求管理 * **成本控制**: 开源解决方案,降低IT基础设施成本 ===== 🌐 域名架构 ===== ==== 主域名 ==== * **主站**: www.oasisvape.co.nz (继续使用现有Web Host) * **IT基础设施**: 使用二级域名分流 ==== 二级域名配置 ==== ^ 服务 ^ 域名 ^ 用途 ^ 状态 ^ | ERPNext | erp.oasisvape.co.nz | 企业资源规划 | ✅ 已部署 | | Strapi CMS | cms.oasisvape.co.nz | 电商内容管理 | ✅ 已部署 | | n8n | n8n.oasisvape.co.nz | 工作流自动化 | ✅ 已部署 | | DokuWiki | wiki.oasisvape.co.nz | 文档管理系统 | ✅ 已部署 | | Grafana | grafana.oasisvape.co.nz | 监控可视化 | ✅ 已部署 | | Traefik Dashboard | traefik.oasisvape.co.nz | 反向代理管理 | ✅ 已部署 | ===== 🏗️ 核心服务架构 ===== ==== 1. ERPNext v15.67.5 - 企业资源规划 ==== * **功能**: 财务管理、库存管理、采购管理、销售管理、人力资源管理 * **数据库**: MariaDB 10.6 (专用数据库) * **官方文档**: [[https://github.com/frappe/frappe_docker|Frappe Docker]] * **访问地址**: https://erp.oasisvape.co.nz * **业务价值**: 统一管理4家门店的财务、库存、采购等核心业务 ==== 2. Strapi CMS - 电商内容管理系统 ==== * **版本**: 自定义镜像 (strapi_infra-strapi:latest) * **功能**: 产品管理、订单管理、用户管理、支付集成、库存同步 * **数据库**: PostgreSQL 15-alpine (共享数据库,独立schema) * **官方文档**: [[https://docs.strapi.io/cms/installation/docker|Strapi Docker]] * **访问地址**: https://cms.oasisvape.co.nz * **业务价值**: 统一管理产品信息、合规文档,支持多渠道销售 ==== 3. n8n v1.100.1 - 工作流自动化平台 ==== * **功能**: 业务流程自动化、系统集成、定时任务、Webhook处理 * **数据库**: PostgreSQL 15-alpine (与Strapi共享数据库,独立schema) * **官方文档**: [[https://docs.n8n.io/hosting/installation/docker|n8n Docker]] * **访问地址**: https://n8n.oasisvape.co.nz * **登录信息**: admin / 35@Riccarton * **业务价值**: 自动化库存补货、营销邮件、数据同步等业务流程 ==== 4. DokuWiki - 文档管理系统 ==== * **功能**: 知识库管理、操作手册、培训文档 * **存储**: 文件系统 * **官方文档**: [[https://www.dokuwiki.org/docker|DokuWiki Docker]] * **访问地址**: https://wiki.oasisvape.co.nz * **业务价值**: 员工培训、操作规范、最佳实践沉淀 ==== 5. Traefik v2.10 - 反向代理和SSL管理 ==== * **功能**: SSL证书自动申请/续期、负载均衡、路由管理 * **证书**: Let's Encrypt (HTTP Challenge) * **官方文档**: [[https://doc.traefik.io/traefik/|Traefik Docs]] * **访问地址**: https://traefik.oasisvape.co.nz * **业务价值**: 统一SSL管理,简化运维,提升安全性 ==== 6. 监控系统 ==== * **Grafana**: 监控可视化面板 (admin / 35@Riccarton) * **Prometheus**: 时序数据库,存储监控数据 * **cAdvisor**: 容器监控代理,收集系统指标 * **访问地址**: https://grafana.oasisvape.co.nz ===== 🗄️ 数据库架构设计 ===== ==== 数据库分配策略 ==== * **ERPNext**: 专用MariaDB 10.6数据库 (erpnext_db) * 原因:ERPNext对MariaDB支持更好,性能更优 * **Strapi + n8n**: 共享PostgreSQL 15-alpine数据库 (strapi_db) * Strapi使用schema: ''strapi_schema'' * n8n使用schema: ''n8n_schema'' * 优势:资源节约,管理简化 ==== 数据库配置优势 ==== * **性能优化**: ERPNext使用MariaDB获得最佳性能 * **资源节约**: Strapi和n8n共享PostgreSQL实例,减少资源占用 * **管理简化**: 减少数据库实例数量,便于备份和维护 * **数据隔离**: 通过schema实现数据隔离,确保安全性 ===== 📁 项目文件结构 ===== /opt/discountvapor-it/ ├── docker-compose.yml # 监控系统配置 ├── docker-compose-erpnext.yml # ERPNext配置 ├── docker-compose-strapi.yml # Strapi配置 ├── docker-compose-n8n.yml # n8n配置 ├── docker-compose-dokuwiki.yml # DokuWiki配置 ├── docker-compose-traefik.yml # Traefik配置 ├── docker-compose-postgres.yml # PostgreSQL配置 ├── .env # 环境变量 ├── domain-config.env # 域名配置 ├── prometheus.yml # Prometheus配置 ├── data/ # 数据目录 │ ├── grafana/ # Grafana数据 │ ├── prometheus/ # Prometheus数据 │ └── ... ├── logs/ # 日志目录 ├── traefik/ # Traefik配置 │ ├── traefik.yml # Traefik主配置 │ └── acme.json # SSL证书存储 ├── config_backup/ # 配置备份 ├── scripts/ # 脚本目录 └── wiki/ # Wiki文档 ===== 🔄 部署策略 ===== ==== 开发流程 ==== 1. **本地调试**: 在Ubuntu虚拟机中完整配置和测试所有服务 2. **功能验证**: 确保所有服务功能正常,配置无误 3. **打包传输**: 将整个项目目录打包传输到VPS 4. **生产部署**: 在VPS上启动服务,配置DNS解析 5. **上线验证**: 验证所有服务的生产环境访问和功能 ==== 部署优势 ==== * **环境一致性**: 本地与生产环境100%一致 * **快速恢复**: 配置文件版本化,可快速重建环境 * **版本可控**: 使用固定版本号,确保稳定性 * **运维简化**: 统一Docker Compose管理 ===== 🔧 技术规范 ===== ==== 文件管理规范 ==== * **配置分离**: 每个服务独立目录,配置、数据、文档分离 * **版本控制**: 所有配置文件纳入Git版本控制 * **环境变量**: 敏感信息使用.env文件,不提交到版本控制 * **文档同步**: 重要变更必须更新相应文档 ==== 安全规范 ==== * **网络隔离**: 使用Docker网络,仅暴露必要端口 * **访问控制**: 各系统独立认证,最小权限原则 * **数据加密**: 数据库连接使用SSL,敏感数据加密存储 * **定期更新**: 定期更新系统和依赖包 ==== 域名配置规范 ==== * **SSL自动化**: 统一使用Traefik自动管理Let's Encrypt证书 * **二级域名**: 每个服务使用独立二级域名 * **DNS管理**: 通过Cloudflare统一管理DNS记录 * **故障切换**: 支持快速DNS切换和故障恢复 ==== 数据库管理规范 ==== * **ERPNext**: 专用MariaDB数据库,独立备份和恢复 * **共享数据库**: Strapi和n8n共享PostgreSQL,通过schema隔离 * **备份策略**: 定期备份所有数据库,支持点对点恢复 * **监控**: 监控数据库性能和连接状态 ===== 🛡️ 网络安全配置 ===== ==== 防火墙规则 (UFW) ==== * **开放端口**: 22 (SSH), 80 (HTTP), 443 (HTTPS) * **关闭端口**: 3000, 5678, 8080, 8081, 8180, 9090 * **状态**: ✅ 已配置 ==== 访问控制 ==== * 所有业务服务仅通过 Traefik 反向代理访问 * 监控服务端口已关闭外部访问 * 仅通过二级域名 + HTTPS 访问,提高安全性 ===== 📊 监控和运维 ===== ==== 监控栈 ==== cAdvisor → Prometheus → Grafana ↓ ↓ ↓ 收集指标 存储数据 可视化展示 ==== 服务管理 ==== # 查看所有服务状态 docker ps # 重启特定服务 docker compose -f docker-compose-xxx.yml restart # 查看服务日志 docker logs ==== 备份策略 ==== * 所有 compose 文件已备份 (.bak 后缀) * 重要配置文件已备份 * 数据目录定期备份 ===== 🔗 访问信息汇总 ===== ^ 服务 ^ 域名 ^ 登录信息 ^ 状态 ^ | ERPNext | https://erp.oasisvape.co.nz | 管理员账号 | ✅ 正常 | | Strapi CMS | https://cms.oasisvape.co.nz | 管理员账号 | ✅ 正常 | | n8n | https://n8n.oasisvape.co.nz | admin / 35@Riccarton | ✅ 正常 | | DokuWiki | https://wiki.oasisvape.co.nz | 管理员账号 | ✅ 正常 | | Grafana | https://grafana.oasisvape.co.nz | admin / 35@Riccarton | ✅ 正常 | | Traefik Dashboard | https://traefik.oasisvape.co.nz | - | ✅ 正常 |