首页
/ Doodba Copier Template项目日常使用指南

Doodba Copier Template项目日常使用指南

2025-07-01 12:43:13作者:申梦珏Efrain

项目概述

Doodba Copier Template是一个基于Docker的Odoo开发部署框架模板,它提供了一套完整的工具链和环境配置方案,帮助开发者快速搭建Odoo开发、测试和生产环境。本文将详细介绍该模板的日常使用方法。

环境准备

在使用该项目前,您需要掌握以下技术工具:

  • Copier:项目模板生成工具
  • Docker Compose:容器编排工具
  • Docker Engine:容器运行时环境
  • Git:版本控制系统
  • Python:编程语言环境
  • Odoo:开源企业管理软件

环境配置

项目支持三种主要环境配置:

开发环境

开发环境配置位于devel.yaml文件中,推荐使用VSCode作为开发工具。

初始化开发环境

invoke develop

此命令会生成VSCode工作区文件,包含所有开发所需的配置。

获取代码和构建镜像

invoke img-build --pull
invoke git-aggregate

初始化数据库

invoke resetdb

启动Odoo服务

invoke start

开发辅助工具

  1. MailHog:模拟SMTP服务器,用于调试邮件发送

    • 访问地址:http://localhost:${ODOO_MAJOR}025
  2. wdb调试器:强大的Python调试工具

    • 在代码中插入断点:
      import wdb
      wdb.set_trace()
      
    • 访问地址:http://localhost:${ODOO_MAJOR}984
  3. pgweb:PostgreSQL数据库可视化工具

    • 访问地址:http://localhost:${ODOO_MAJOR}081

生产环境

生产环境配置位于prod.yaml文件中,包含SMTP和备份服务。

准备工作

  1. 预构建镜像
  2. 配置必要的密钥文件:
    • ./.docker/odoo.env:定义管理员密码
    • ./.docker/db-access.env:定义数据库访问密码
    • ./.docker/db-creation.env:定义数据库创建密码
    • ./.docker/smtp.env:定义SMTP中继密码
    • ./.docker/backup.env:定义备份相关密钥

启动生产环境

docker compose -f prod.yaml up -d

备份管理

  1. 执行备份:

    docker compose exec backup /etc/periodic/daily/jobrunner
    
  2. 恢复备份:

    # 停止Odoo服务
    docker compose stop odoo
    
    # 启动备份和数据库服务
    docker compose up -d backup
    
    # 恢复指定时间点的备份
    docker compose exec backup restore --time TIME_IN_BACKUP_NAME --force
    
    # 创建新数据库
    docker compose exec backup createdb
    
    # 恢复数据
    docker compose exec backup sh -c 'psql -f $SRC/$PGDATABASE.sql'
    
    # 启动Odoo
    docker compose up -d
    

测试环境

测试环境配置位于test.yaml文件中,模拟生产环境但移除了可能造成干扰的因素。

启动测试环境

docker compose -f test.yaml up -d

VSCode集成

项目提供了开箱即用的VSCode集成支持:

  1. Python调试

    • 安装推荐扩展
    • 运行invoke develop
    • 在VSCode中选择"Start Odoo and debug Python"配置
  2. JavaScript调试

    • 安装推荐扩展
    • 运行invoke develop
    • 在VSCode中选择"Start Odoo and debug JS in [浏览器]"配置
  3. Python+JS联合调试

    • 同时启动Python和JS调试会话
    • 可在VSCode调试面板中切换调试环境

常见操作场景

数据库操作

  1. 进入数据库命令行:

    docker compose run --rm odoo psql
    
  2. 重启Odoo服务:

    docker compose restart odoo
    

模块管理

  1. 运行单元测试:

    modules=addon1,addon2
    docker compose run --rm odoo addons init --dependencies --with $modules
    docker compose run --rm odoo addons init --test --with $modules
    docker compose run --rm odoo addons update --test --with $modules
    
  2. 安装模块:

    docker compose run --rm odoo odoo -i addon1,addon2 --stop-after-init
    
  3. 更新模块:

    docker compose run --rm odoo odoo -u addon1,addon2 --stop-after-init
    
  4. 仅更新变更模块:

    docker compose run --rm odoo click-odoo-update --watcher-max-seconds 30
    

其他实用命令

  1. 导出翻译文件:

    docker compose run --rm odoo pot addon1
    
  2. 进入Odoo shell:

    docker compose run --rm odoo odoo shell
    
  3. 启动额外UI实例:

    docker compose run --rm -p 127.0.0.1:$PORT:8069 odoo
    

GeoLite2集成

要启用地理定位支持:

  1. 注册Maxmind账户获取GeoLite2许可
  2. 配置环境变量:
    environment:
      GEOIP_ACCOUNT_ID: 1234
      GEOIP_LICENSE_KEY: aBcDeF
    
  3. 在隔离环境中添加白名单代理:
    maxmind_proxy:
      image: tecnativa/docker-whitelist
      networks:
        default:
          aliases:
            - updates.maxmind.com
      environment:
        TARGET: updates.maxmind.com
        PRE_RESOLVE: 1
    

通过本文介绍的内容,您应该能够充分利用Doodba Copier Template项目进行Odoo的日常开发和维护工作。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K