-
Notifications
You must be signed in to change notification settings - Fork 0
Home
fireDevelop edited this page Apr 8, 2025
·
1 revision
Esta guía detalla cómo instalar y ejecutar Odoo 17 usando Docker, conectarlo con PyCharm y acceder a la base de datos PostgreSQL desde Docker. También incluye backups, módulos personalizados y solución de problemas.
odoo-docker/
├── addons/ # Módulos personalizados
├── backups/ # Backups de PostgreSQL
├── .env # Variables de entorno (config Docker)
├── docker-compose.yml # Config principal de Docker
└── README.md # Esta documentación
Este es el contenido recomendado de tu docker-compose.yml para levantar Odoo 17 y PostgreSQL:
version: '3.1'
services:
web:
image: odoo:17
depends_on:
- db
ports:
- "8069:8069"
volumes:
- ./addons:/mnt/extra-addons
- odoo-web-data:/var/lib/odoo
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
restart: always
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=odoo
volumes:
- odoo-db-data:/var/lib/postgresql/data
restart: always
volumes:
odoo-web-data:
odoo-db-data:Puedes definir variables de entorno aquí si quieres externalizarlas del docker-compose.yml:
POSTGRES_DB=postgres
POSTGRES_USER=odoo
POSTGRES_PASSWORD=odooLuego, en docker-compose.yml reemplaza las líneas correspondientes por:
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}cd odoo-docker
docker compose up -dVerifica que los contenedores están activos:
docker psColoca tus módulos en la carpeta:
odoo-docker/addons/
Ya está montada en /mnt/extra-addons dentro del contenedor.
Conéctate al contenedor de PostgreSQL:
docker exec -it odoo-docker-db-1 bash
psql -U odoo -d postgresComandos útiles en PostgreSQL:
\l -- Listar bases de datos
\dt -- Listar tablas
\q -- Salir- Abre PyCharm >
File > Settings > Project > Python Interpreter. - Haz clic en el engranaje ⚙ >
Add.... - Elige
Docker Compose> selecciona:-
Service:
web -
Python interpreter path:
/usr/bin/python3
-
Service:
- Aplica los cambios y espera a que se configure.
docker exec odoo-docker-db-1 pg_dump -U odoo -d postgres > backups/odoo_backup.sqlcat backups/odoo_backup.sql | docker exec -i odoo-docker-db-1 psql -U odoo -d postgres__pycache__/
*.py[cod]
*.log
*.sql
/backups/
/odoo-web-data/
/odoo-db-data/
/volumes/
/odoo/
/env/
/.env
.DS_Store
.vscode/
.idea/
venv/
.venv/- Asegúrate de que el archivo
pg_hba.confno tenga errores de sintaxis. - Puedes restaurar el archivo eliminando el volumen dañado:
docker volume rm odoo-docker_db-data
docker compose up -dVerifica que:
- El contenedor
dbestá corriendo (docker ps) - El
docker-compose.ymlusadbcomo nombre del host en el contenedorweb.
- Odoo 17 funcionando en contenedor Docker
- PostgreSQL accesible desde Docker
- Addons personalizados cargados desde carpeta local
- PyCharm conectado al contenedor Odoo
- Backup y restauración configurados