Skip to Content
Menú
This question has been flagged
269 Vistes

Hi all.

I'm having an Odoo 18 running in docker. All works fine, except the subject issue. I'm stuck, because all real-time services seems to be working - user status updates, chat (I see that someone is typing a message to me when chat is open), notifications, etc. All except the kanban real-time update.

I have following configs (according to best practices, as I'm concerned 🙂):

docker-compose:

services:
  db:
    image: postgres:15
    container_name: odoo-crm-db-1
    environment:
      POSTGRES_DB: my_db
      POSTGRES_USER: my_user
      POSTGRES_PASSWORD: my_pwd
    volumes:
      - db-data:/var/lib/postgresql/data
    networks:
      - odoo-net

# UI container
  web:
    image: odoo:18.0
    container_name: odoo-crm-web-1
    depends_on:
      - db
    environment:
      - HOST=db
      - USER=my_user
      - PASSWORD=my_pwd
    volumes:
      - ./addons:/mnt/extra-addons
      - ./odoo.conf:/etc/odoo/odoo.conf
      - odoo-web-data:/var/lib/odoo
    ports:
      - "8069:8069"
    networks:
      - odoo-net

# Background container
  bus:
    image: odoo:18.0
    container_name: odoo-crm-bus-1
    depends_on:
      - db
    environment:
      - HOST=db
      - USER=my_user
      - PASSWORD=my_pwd
    volumes:
      - ./addons:/mnt/extra-addons
      - ./bus.conf:/etc/odoo/odoo.conf
      - odoo-web-data:/var/lib/odoo
    ports:
      - "8072:8072"     
    networks:
      - odoo-net

# cron container
  cron:
    image: odoo:18.0
    container_name: odoo-crm-cron-1
    depends_on:
      - db
    environment:
      - HOST=db
      - USER=my_user
      - PASSWORD=my_pwd
    volumes:
      - ./addons:/mnt/extra-addons
      - ./cron.conf:/etc/odoo/odoo.conf
      - odoo-web-data:/var/lib/odoo
    networks:
      - odoo-net
     
  nginx:
    image: nginx:latest
    container_name: odoo-crm-nginx-1
    depends_on:
      - web
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./nginx/certs:/etc/nginx/certs
      - ./nginx/log:/var/log/nginx
    networks:
      - odoo-net

volumes:
  db-data:
  odoo-web-data:

networks:
  odoo-net:
        driver: bridge


odoo.conf:

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo

#default official config:
limit_memory_hard = 1677721600
limit_memory_soft = 629145600
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200

#for web only
max_cron_threads = 0
workers = 15
xmlrpc_port = 8069
longpolling_port = False

bus.conf:

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo

# Longpolling/background workers only
workers = 15
max_cron_threads = 0
gevent_port = 8072
longpolling_port = False

cron.conf:

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo

limit_memory_hard = 1677721600
limit_memory_soft = 629145600
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200

# for cron only
max_cron_threads = 15
workers = -1
no_http = True

odoo.conf (nginx):

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

# http -> https
server {
  listen 80;
  server_name test.my.website;
  rewrite ^(.*) https://$host$1 permanent;
}

server {
  listen 443 ssl;
  server_name test.my.website;
  proxy_read_timeout 720s;
  proxy_connect_timeout 720s;
  proxy_send_timeout 720s;

  # SSL parameters
  ssl_certificate     /etc/nginx/certs/fullchain.pem;
  ssl_certificate_key /etc/nginx/certs/privkey.pem;
  ssl_session_timeout 30m;
  ssl_protocols TLSv1.2;
  ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
  ssl_prefer_server_ciphers off;

  # Redirect requests to odoo backend server
  location / {
    # Add Headers for odoo proxy mode
    proxy_pass http://web:8069;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  # Redirect websocket requests to odoo gevent port
  location /websocket {
    proxy_pass http://bus:8072;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    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;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    proxy_cookie_flags session_id samesite=lax secure;
  }

  # common gzip
  gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
  gzip on;
}

Any ideas or suggestions are highly appreciated!

Avatar
Descartar
Related Posts Respostes Vistes Activitat
0
de febr. 24
2080
2
d’oct. 23
2223
1
de jul. 23
2421
0
de març 22
3244
2
de juny 20
5900