首页
/ 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的日常开发和维护工作。

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

热门内容推荐

最新内容推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
143
1.92 K
kernelkernel
deepin linux kernel
C
22
6
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
274
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
929
553
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
422
392
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
75
65
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.3 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8