587 字
3 分钟
WMS / ERPNext 单机 Compose 配置注意事项
这篇从 wms-system 当前目录结构整理,偏环境快照和注意事项。
当前服务结构
Compose 中包含:
db MariaDB 10.11redis-cache Redis cacheredis-queue Redis queue / socketiofrontend Nginxerp-app frappe/erpnext:v16.0.0端口映射
Nginx:
ports: - "8080:80"ERPNext app:
ports: - "8000:8000" - "9000:9000" - "5678:5678"含义:
8080:宿主机访问 Nginx8000:Frappe web 服务9000:Socket.IO5678:调试端口
MariaDB 配置
当前 MariaDB 命令:
command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --skip-character-set-client-handshake - --innodb-file-per-table=1这些配置用于:
- 使用
utf8mb4 - 避免字符集握手不一致
- 每张 InnoDB 表独立表空间
Redis 配置
Frappe common site config 中需要类似:
{ "redis_cache": "redis://redis-cache:6379", "redis_queue": "redis://redis-queue:6379"}Compose 环境变量也要对应:
environment: - REDIS_CACHE=redis-cache:6379 - REDIS_QUEUE=redis-queue:6379 - REDIS_SOCKETIO=redis-queue:6379apps 和 sites 挂载
当前挂载:
volumes: - ./apps:/home/frappe/frappe-bench/apps - ./sites:/home/frappe/frappe-bench/sites含义:
apps保存 Frappe / ERPNext 应用代码sites保存站点配置、assets、日志、私有文件和备份
注意:
sites/site_config.json里可能包含数据库账号和密码- 这类文件不适合公开提交
- 如果这是本地实验快照,要注意不要把真实生产配置放进去
站点配置
sites/apps.txt 中记录已安装应用:
frappeerpnextsites/common_site_config.json 中记录通用配置:
{ "db_host": "db", "redis_cache": "redis://redis-cache:6379", "redis_queue": "redis://redis-queue:6379"}单个站点的 site_config.json 会包含:
{ "db_name": "<db-name>", "db_password": "<db-password>", "db_type": "mariadb", "db_user": "<db-user>", "developer_mode": 1}不要把真实值直接写进公开笔记或公开仓库。
常用检查命令
查看服务:
docker compose ps查看日志:
docker compose logs -f frontenddocker compose logs -f erp-appdocker compose logs -f db进入 ERPNext 容器:
docker compose exec erp-app bash进入数据库:
docker compose exec db mariadb -uroot -p查看 Redis:
docker compose exec redis-cache redis-cli pingdocker compose exec redis-queue redis-cli pingNginx 注意事项
Nginx 挂载:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro- ./sites:/home/frappe/frappe-bench/sites这说明 Nginx 会直接读取宿主机 sites 下的静态资源。
如果页面资源 404,优先检查:
docker compose logs -f frontendls -la sites/assets安全注意事项
不要公开:
site_config.json中的数据库密码- 生产站点的私有文件
private/backups- 真实管理员密码
- 真实 token / secret
如果要把环境整理成可复用模板,建议把真实配置替换成:
<db-password><admin-password><site-name>并提供 .env.example 或 site_config.example.json。
适合后续整理的方向
这个目录更像一个本地 ERPNext / WMS 环境快照。
后续如果继续整理,优先补:
- 当前站点创建命令
- Nginx 配置说明
- 初始化数据来源
- WMS 相关自定义 app 是否存在
- 备份恢复流程
- 哪些文件应该 gitignore
WMS / ERPNext 单机 Compose 配置注意事项
https://r-gc.github.io/posts/notes/wms/wms-frappe-compose-notes/