Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
project:overview:start

🚀 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 - 文档管理系统

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