使用Docker部署Odoo的最佳方式是什么?

piv4azn7  于 2022-11-22  发布在  Docker
关注(0)|答案(2)|浏览(153)

我正在使用Docker部署Odoo 15,并且使用https://hub.docker.com/_/odoo中推荐的docker-compose.yml

volumes:
 - odoo-web-data:/var/lib/odoo
 - ./config:/etc/odoo
 - ./addons:/mnt/extra-addons

这里的结论是,有一个名为odoo-web-data的卷的Odoo核心,和两个绑定,我猜他们是为了方便地修改配置文件和额外的插件。
如果我希望在本地目录addons中添加很多模块,以便将这些模块添加到容器目录extra-addons中,从而将它们添加到容器中运行的Odoo中,那么这样添加它们是否有意义?
例如,我将从GitHub添加整个Odoo Community Association l10n-spain仓库(包括他们所有的插件),当然我会时不时地更新仓库。
由于我不是Docker的Maven,你认为这个结构是最好的吗?如果我需要更新指定卷中的Odoo核心怎么办?

polhcujo

polhcujo1#

DigitalOcean的指南详细解释了如何使用nginx(在Ubuntu 20.04上)部署odoo和docker:

步骤1 -安装Docker Compose

sudo apt update
sudo apt install docker-compose

步骤2 -使用Docker Compose运行Odoo和PostgreSQL

nano docker-compose.yml

version: '3'
services:
  odoo:
    image: odoo:15.0
    env_file: .env
    depends_on:
      - postgres
    ports:
      - "127.0.0.1:8069:8069"
    volumes:
      - data:/var/lib/odoo
  postgres:
    image: postgres:13
    env_file: .env
    volumes:
      - db:/var/lib/postgresql/data/pgdata

volumes:
  data:
  db:

...
...

步骤3 -安装和配置Nginx

...
...
sudo nano /etc/nginx/sites-available/odoo.conf

server {
    listen       80;
    listen       [::]:80;
    server_name  your_domain_here;

    access_log  /var/log/nginx/odoo.access.log;
    error_log   /var/log/nginx/odoo.error.log;

    location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Proto https;
      proxy_pass http://localhost:8069;
  }
}

步骤4 -安装Certbot并设置TLS证书

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain_here

步骤5 -设置Odoo

回到您的网页浏览器,重新载入页面。您现在应该已经透过安全的https://联机开启Odoo的数据库设定页面。现在您可以安全地输入使用者名称和密码来完成安装程序。请填写下列字段:

wh6knrhe

wh6knrhe2#

在odoo-web-data卷中不应该有核心,只有文件存储和会话。

# Install Odoo
ENV ODOO_VERSION 15.0
ARG ODOO_RELEASE=20220718
ARG ODOO_SHA=dc4a5b8c5be8f873e751539117f5aa41d9f7b217
RUN curl -o odoo.deb -sSL http://nightly.odoo.com/${ODOO_VERSION}/nightly/deb/odoo_${ODOO_VERSION}.${ODOO_RELEASE}_all.deb \
    && echo "${ODOO_SHA} odoo.deb" | sha1sum -c - \
    && apt-get update \
    && apt-get -y install --no-install-recommends ./odoo.deb \
    && rm -rf /var/lib/apt/lists/* odoo.deb

因此,更新核心通常意味着:构建或提取映像(例如最新的)并重新创建容器。有时候,您还必须对现有数据库的所有模块进行更新,因为核心(代码)已经更改。

相关问题