Trabalhando com docker-compose + nginx + postgresql + odoo
11
0

Trabalhando com docker-compose + nginx + postgresql + odoo

O Odoo ERP é uma solução para gestão empresarial com aplicativos e crm integrado, open source, muito usado para quem procura facilidade de customização, pois o Odoo possui uma arquitetura MVC (Model View Controller), separando funcionalidades...

Daniel Pontes Nery
0 min
11
0

O Odoo ERP é uma solução para gestão empresarial com aplicativos e crm integrado, open source, muito usado para quem procura facilidade de customização, pois o Odoo possui uma arquitetura MVC (Model View Controller), separando funcionalidades e aplicações em módulos. Este artigo possui um exemplo de como configurar e subir o Odoo usando Docker, em minutos, terá essa super ferramenta rodando em sua máquina ou servidor.

  • Crie a pasta do seu projeto, exemplo: ‘odoo-project’
  • Dentro da pasta do seu projeto, comece criando o arquivo ‘docker-compose.yml’
  • Reproduza o seguinte código em ‘docker-compose.yml’

version: '3'

services:

    odoo:

        container_name: odoo

        image: odoo:latest

        volumes:

            - ./addons:/mnt/extra-addons

            - ./config/odoo:/etc/odoo

            - odoo-web-data:/var/lib/odoo

        ports:

            - "8069:8069"

    nginx:

        container_name: nginx

        image: nginx:latest

        restart: unless-stopped

        ports:

            - 80:80

            - 443:443

        volumes:

            - ./config/nginx/conf:/etc/nginx/conf.d

    db:

      image: postgres:13

      restart: always

      container_name: postgresql

      environment:

        - POSTGRES_PASSWORD=odoo

        - POSTGRES_USER=odoo

        - POSTGRES_DB=postgres

        - PGDATA=/var/lib/postgresql/data/pgdata

      ports:

        - "127.0.0.1:9432:5432"

      volumes:

        - ./odoo-db-data:/var/lib/postgresql/data/pgdata

      logging:

        driver: json-file

        options:

          max-size: "30m"

          max-file: "10"

volumes:

  odoo-web-data:

  odoo-db-data:

  • Salve o arquivo e feche
  • Crie o arquivo ‘config’ dentro do diretório do seu projeto ‘odoo-project’
  • Crie a pasta ‘nginx’ dentro de config
  • Crie a pasta ‘conf’ dentro de ‘nginx’
  • Crie o arquivo ‘default.conf’ dentro de ‘conf’, vamos configurar o proxy com nginx
  • Reproduza o seguinte código dentro de ‘default.conf’:

server {

   listen [::]:80;

   listen 80;

   location ~ /.well-known/acme-challenge {

       allow all;

       root /var/www/html;

   }

   location / {

       proxy_set_header X-Real-IP  $remote_addr;

       proxy_set_header X-Forwarded-For $remote_addr;

       proxy_set_header X-Forwarded-Proto $scheme;

       proxy_set_header Host $host;

       proxy_pass http://odoo:8069;

   }

   location ~* /web/static/ {

       proxy_set_header X-Real-IP  $remote_addr;

       proxy_set_header X-Forwarded-For $remote_addr;

       proxy_set_header X-Forwarded-Proto $scheme;

       proxy_set_header Host $host;

       proxy_pass http://odoo:8069;

   }

}

  • Dentro da pasta config, crie a pasta ‘odoo’
  • Dentro da pasta ‘odoo’, crie o arquivo de configuração ‘odoo.conf’
  • Reproduza o seguinte código dentro do arquivo ‘odoo.conf’:

[options]

addons_path = /mnt/extra-addons

;admin_passwd = !@ilfuasghh21dasBBas

csv_internal_sep = ,

data_dir = /var/lib/odoo

db_host = db

db_maxconn = 9

db_name = seu_banco

db_filter = seu_banco

db_password = odoo

db_port = 5432

db_template = template1

db_user = odoo

demo = {}

email_from = False

geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb

;import_partial =

limit_memory_hard = 6000000000

limit_memory_soft = 6000000000

limit_request = 8192

limit_time_cpu = 43200

limit_time_real = 86400

limit_time_real_cron = -1

list_db = True

log_db = False

log_db_level = warning

log_handler = :INFO

log_level = info

logfile = None

logrotate = False

longpolling_port = 8072

max_cron_threads = 2

osv_memory_age_limit = 1.0

osv_memory_count_limit = False

pg_path = None

pidfile = None

proxy_mode = True

reportgz = False

server_wide_modules = web

smtp_password = False

smtp_port = 25

smtp_server = localhost

smtp_ssl = False

smtp_user = False

syslog = False

test_commit = False

test_enable = False

test_file = False

test_report_directory = False

translate_modules = ['all']

unaccent = False

without_demo = True

;workers = 5

xmlrpc = True

xmlrpc_port = 8069

xmlrpc_interface = 0.0.0.0

  • Feche e salve o arquivo ‘odoo.conf’
  • Volte até a pasta raiz ‘odoo-project’ e digite o comando ‘sudo docker-compose up -d’
  • Você pode verificar os serviços usando ‘sudo docker-compose ps’
  • Caso a base não tenha sido inicializada, isso é, se o banco de dados estiver limpo(banco de dado novo), use o seguinte comando: ‘sudo docker-compose stop odoo && sudo docker-compose run --rm odoo odoo -c /etc/odoo/odoo.conf -i base’
  • email padrão é ‘admin’ senha padrão ‘admin’

e Voilà!

Pronto, vá até seu navegador digite: localhost:80

Email image

Arquivos para download: https://github.com/DanielNery/odoo-docker-compose-nginx-postgresql