Stack Docker Swarm ODOO
==========================================================
Demo Stack Odoo + Postgres para novas instalações
Créditos by mundoautomatilk.com
==========================================================
#
O que precisa ser alterado antes de usar:
1) Domínio do Odoo
2) Senhas do banco
3) Nome da rede Docker Swarm
4) Nome dos volumes, se quiser padronizar diferente
5) Certresolver do Traefik, se no seu ambiente tiver outro nome
#
Exemplo de deploy:
docker stack deploy -c stack.yml odoo
#
==========================================================
version: "3.7"
services:
========================================================
APP ODOO
========================================================
odoo_app:
image: odoo:19.0
# Se quiser travar uma versão específica/custom, altere aqui
volumes:
# Volume com dados internos do Odoo
- odoo_app_data:/var/lib/odoo
# Volume com arquivos de configuração
- odoo_app_config:/etc/odoo
# Volume para addons extras/customizados
- odoo_app_addons:/mnt/extra-addons
networks:
- ramelnet
# ALTERAR se sua rede swarm tiver outro nome
environment:
# ----------------------------------------------------
# CONFIGURAÇÕES DE CONEXÃO COM O POSTGRES
# ALTERE conforme sua instalação
# ----------------------------------------------------
- HOST=odoo_db
- USER=odoo
- PASSWORD=CHANGE_STRONG_PASSWORD_HERE
deploy:
placement:
constraints:
- node.role == manager
# ALTERAR se quiser rodar em worker ou remover a restrição
labels:
# --------------------------------------------------
# TRAEFIK
# ALTERE O DOMÍNIO ABAIXO
# --------------------------------------------------
- traefik.enable=true
- traefik.http.routers.odoo_app.rule=Host(`odoo.seudominio.com.br`)
- traefik.http.routers.odoo_app.entrypoints=websecure
- traefik.http.routers.odoo_app.tls=true
- traefik.http.routers.odoo_app.tls.certresolver=letsencryptresolver
# ALTERAR se o nome do certresolver no seu traefik for outro
- traefik.http.routers.odoo_app.service=odoo_app
- traefik.http.services.odoo_app.loadbalancer.server.port=8069
========================================================
BANCO DE DADOS POSTGRES
========================================================
odoo_db:
image: postgres:15
# Pode alterar a versão se seu projeto exigir outra
volumes:
- odoo_db_data:/var/lib/postgresql/data/pgdata
networks:
- ramelnet
# ALTERAR se sua rede swarm tiver outro nome
environment:
# ----------------------------------------------------
# CONFIGURAÇÕES DO POSTGRES
# ALTERE ESTAS VARIÁVEIS
# ----------------------------------------------------
- POSTGRES_DB=postgres
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=CHANGE_STRONG_PASSWORD_HERE
- PGDATA=/var/lib/postgresql/data/pgdata
deploy:
placement:
constraints:
- node.role == manager
# ALTERAR se quiser rodar em outro nó
==========================================================
VOLUMES
==========================================================
volumes:
odoo_app_data:
external: true
name: odoo_app_data
# ALTERAR se quiser outro nome de volume
odoo_app_config:
external: true
name: odoo_app_config
# ALTERAR se quiser outro nome de volume
odoo_app_addons:
external: true
name: odoo_app_addons
# ALTERAR se quiser outro nome de volume
odoo_db_data:
external: true
name: odoo_db_data
# ALTERAR se quiser outro nome de volume
==========================================================
REDE
==========================================================
networks:
ramelnet:
external: true
attachable: true
name: ramelnet
# ALTERAR se a rede do seu ambiente tiver outro nome
Link da Stack : https://pastebin.com/ZYZcMabc