Odoo with TimescaleDB
Run Odoo 19 on TimescaleDB for real-time analytics: one-line install, Docker Compose setup, PostgreSQL extensions, and performance tips.

Please install Docker and Docker-Compose before walking through this tutorial.
Odoo-TimescaleDB
Github: https://github.com/minhng92/odoo-timescaledb/
Star my repository if it helps. Thank you.
Installing Odoo with TimescaleDB
git clone git@github.com:minhng92/odoo-timescaledb.git
cd odoo-timescaledb
docker-compose up -d
- Open
localhost:10019to access Odoo 19 - Database master password: minhng.info (configure in
etc/odoo.conf) - If you get permission errors, ensure the container can access local directories:
sudo chmod -R 777 addons
sudo chmod -R 777 etc
sudo chmod -R 777 _data
Quick command to setup Odoo-TimescaleDB
# Default setup in target directory "odoo-ts"
# Require available ports: 10019, 20019
curl -s https://raw.githubusercontent.com/minhng92/odoo-timescaledb/master/run.sh | bash -s odoo-ts 10019 20019
Some arguments:
- odoo-ts: target folder on local machine
- 10019: Odoo port
- 20019: live chat port
Architecture Overview
This setup integrates Odoo 19 with TimescaleDB (PostgreSQL 17.6 with TimescaleDB 2.22.1) to power real-time analytics and time-series workloads.
- Odoo 19: Full-featured business apps
- TimescaleDB: PostgreSQL-based time-series database optimized for analytics
Why TimescaleDB for Odoo
- Time-series optimization for logs, IoT, events, KPIs
- Real-time analytics and faster reporting on large datasets
- Hybrid transactional + analytical workloads on a single database
- Automatic partitioning and efficient data retention
Database configuration & extensions
- Database: TimescaleDB (PostgreSQL 17.6 + TimescaleDB 2.22.1)
- Username:
odoo - Password:
odoo19@2025 - Host:
timescaledb - Data volume:
./_data/postgresql:/home/postgres/pgdata/data
Add PostgreSQL extensions
Enable extra Postgres extensions via DB_EXTENSIONS in docker-compose.yml:
environment:
- DB_EXTENSIONS=vectorscale,pg_trgm,hstore
Notes:
- Extensions are created automatically when the Odoo container starts
- If an extension fails to install, it is skipped without stopping the container
- Leave
DB_EXTENSIONSempty or unset if you don't need extra extensions
References
- Odoo Docker Setup: minhng92/odoo-19-docker-compose
- TimescaleDB: timescale/timescaledb
- Extensions: TimescaleDB Extensions Documentation
Odoo posts:
- Docker Compose for Odoo 10
- Docker Compose for Odoo 11
- Docker Compose for Odoo 12
- Docker Compose for Odoo 13
- Docker Compose for Odoo 14
- Docker Compose for Odoo 15
- Docker Compose for Odoo 16
- Docker Compose for Odoo 17
- Docker Compose for Odoo 18
- Docker Compose for Odoo 19
Extra:
- Minh fanpage: https://www.facebook.com/minhng.info
- Odoo group: https://www.facebook.com/groups/odoo-dev
Khám phá Odoo