官方文档参考
https://www.odoo.com/documentation/17.0/administration/install/source.html
odoo源码:
| https://github.com/odoo/odoo/ |
| git clone https://github.com/odoo/odoo.git --branch=17.0 |
odoo 源码(下载速度快一点):
| wget https://nightly.odoo.com/17.0/nightly/tgz/odoo_17.0.20240122.zip |
| unzip odoo_17.0.20240122.zip |
| cd odoo_17.0.20240122 |
python 安装避坑:
安装python 3.10.2 版本就好了, 不要想着装高版本, 我装3.12.x 会出现各种错误.看了下官方docker都是使用的python 3.10.2
| add-apt-repository ppa:deadsnakes/ppa |
| apt install python3.10 python3.10-dev python3.10-venv |
| sudo apt-get install python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev |
| |
| |
| python3.10 -m venv venv |
| source venv/bin/activate |
| pip install -r requirements.txt |
postgresql安装及配置
| apt install postgresql postgresql-client |
| |
| sudo -u postgres createuser -d -R -S root |
| createdb odoo |
源码里边可能没有odoo-bin
直接手写一个odoo-bin
| |
| |
| |
| __import__('os').environ['TZ'] = 'UTC' |
| import odoo |
| |
| if __name__ == "__main__": |
| odoo.cli.main() |
| |
启动
| python odoo-bin --db_user=root |


附上nginx配置,不配置好也是一堆问题:odoo16,17 版本配置都差不多
| upstream odoo16 { |
| server 172.20.111.128:8016 ; |
| } |
| upstream odoo16_longpolling { |
| server 172.20.111.128:50162 ; |
| } |
| map $http_upgrade $connection_upgrade { |
| default upgrade; |
| '' close; |
| } |
| server { |
| listen 80 ; |
| listen [::]:80 ; |
| server_name odoo16.com ; |
| proxy_set_header X-Forwarded-Host $http_host; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| proxy_set_header X-Forwarded-Proto $scheme; |
| proxy_set_header X-Real-IP $remote_addr; |
| |
| |
| location /websocket { |
| proxy_pass http://odoo16_longpolling; |
| proxy_set_header Upgrade $http_upgrade; |
| proxy_set_header Connection $connection_upgrade; |
| proxy_set_header X-Forwarded-Host $host; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| proxy_set_header X-Forwarded-Proto $scheme; |
| proxy_set_header X-Real-IP $remote_addr; |
| } |
| location / { |
| client_max_body_size 600m; |
| proxy_pass http://odoo16; |
| |
| } |
| } |
| server { |
| |
| listen 443; |
| server_name odoo16.com; |
| ssl on; |
| ssl_certificate /root/workspace/ssl_odoo16/8688522_odoo16.com.pem; |
| ssl_certificate_key /root/workspace/ssl_odoo16/8688522_odoo16.com.key; |
| |
| |
| ssl_session_timeout 5m; |
| ssl_protocols SSLv2 SSLv3 TLSv1; |
| ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; |
| ssl_prefer_server_ciphers on; |
| proxy_set_header X-Forwarded-Host $http_host; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| proxy_set_header X-Forwarded-Proto $scheme; |
| proxy_set_header X-Real-IP $remote_addr; |
| location /websocket { |
| proxy_pass http://odoo16_longpolling; |
| proxy_set_header Upgrade $http_upgrade; |
| proxy_set_header Connection $connection_upgrade; |
| proxy_set_header X-Forwarded-Host $host; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| proxy_set_header X-Forwarded-Proto $scheme; |
| proxy_set_header X-Real-IP $remote_addr; |
| } |
| location / { |
| client_max_body_size 500m; |
| proxy_pass http://odoo16; |
| |
| } |
| } |
odoo.conf
| [options] |
| ; This is the password that allows database operations: |
| admin_passwd = 123 |
| db_host = localhost |
| db_port = 5432 |
| db_user = odoo |
| ; db_password = 123 |
| db_name = odoo17-20231215 |
| |
| addons_path = /opt/odoo17-ent/odoo/addons/,/opt/oo12_dev/odoo17-ent/addons/,/opt/odoo17-ent/enterprise-17.0 |
| default_productivity_apps = True |
| http_port = 8017 |
| proxy_mode = True |
| limit_time_cpu = 180 |
| workers = 2 |
| gevent_port = 50172 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
2021-12-15 文件分布式存储 minio docker