Hotfix release available: 2025-05-14b "Librarian".
upgrade now! [56.2] (what's this?)
project:overview:start
Table of Contents
🚀 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 (专用数据库)
- 官方文档: Frappe Docker
- 业务价值: 统一管理4家门店的财务、库存、采购等核心业务
2. Strapi CMS - 电商内容管理系统
- 版本: 自定义镜像 (strapi_infra-strapi:latest)
- 功能: 产品管理、订单管理、用户管理、支付集成、库存同步
- 数据库: PostgreSQL 15-alpine (共享数据库,独立schema)
- 官方文档: Strapi Docker
- 业务价值: 统一管理产品信息、合规文档,支持多渠道销售
3. n8n v1.100.1 - 工作流自动化平台
- 功能: 业务流程自动化、系统集成、定时任务、Webhook处理
- 数据库: PostgreSQL 15-alpine (与Strapi共享数据库,独立schema)
- 官方文档: n8n Docker
- 登录信息: admin / 35@Riccarton
- 业务价值: 自动化库存补货、营销邮件、数据同步等业务流程
4. DokuWiki - 文档管理系统
- 功能: 知识库管理、操作手册、培训文档
- 存储: 文件系统
- 官方文档: DokuWiki Docker
- 业务价值: 员工培训、操作规范、最佳实践沉淀
5. Traefik v2.10 - 反向代理和SSL管理
- 功能: SSL证书自动申请/续期、负载均衡、路由管理
- 证书: Let's Encrypt (HTTP Challenge)
- 官方文档: Traefik Docs
- 业务价值: 统一SSL管理,简化运维,提升安全性
6. 监控系统
- Grafana: 监控可视化面板 (admin / 35@Riccarton)
- Prometheus: 时序数据库,存储监控数据
- cAdvisor: 容器监控代理,收集系统指标
🗄️ 数据库架构设计
数据库分配策略
- 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 <container_name>
备份策略
- 所有 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 | - | ✅ 正常 |
project/overview/start.txt · Last modified: by 127.0.0.1
