Odoo + PostgreSQL
Odoo is an open-source business management suite: CRM, sales, invoicing, inventory, accounting, human resources and e-commerce, all integrated into a single application with modules that are enabled according to what you need.
This Stack installs Odoo with PostgreSQL, the only database officially supported by Odoo.
Services included
Besides the application, the Stack brings up Odoo, PostgreSQL, an nginx that receives traffic on port 80, an automatic backups service and the web file manager.
Project structure
.
βββ addons
β βββ .gitkeep
βββ backup
β βββ backup-runner.sh
βββ health
β βββ status.py
βββ nginx
β βββ default.conf
βββ .env.example
βββ compose.yaml
Getting started
Install the Stack and bring it up:
docker-deploy-stack --stack python/odoo-postgres
cd /root/stack/python/odoo-postgres
docker compose up -d
This is a ready-to-use application: you do not need to upload code. Themes, plugins, extensions and files that you upload from its administration panel are stored in the Stack and are included in the automatic backups.
Configuration
Editable values are in the Stackβs .env file:
| Variable | Default | Purpose |
|---|---|---|
APP_PORT |
80 |
Public port of the Stack. |
APP_ENV |
development |
Application environment. |
DB_NAME |
postgres |
Database name. |
DB_USER |
odoo |
Database user. |
BACKUP_ENABLED |
1 |
Automatic backups: 1 enabled, 0 disabled. |
BACKUP_INTERVAL_SECONDS |
86400 |
How many seconds between backups. |
BACKUP_RETENTION_DAYS |
7 |
How many days backups are retained. |
NGINX_VERSION |
stable-alpine |
Version of the corresponding image. |
ODOO_VERSION |
18.0 |
Version of the corresponding image. |
POSTGRES_VERSION |
16-alpine |
Version of the corresponding image. |
After changing it, apply the changes with docker compose up -d.
Useful commands
docker compose ps # view running containers
docker compose logs -f # view live logs
docker compose restart # restart services
docker compose down # stop and remove the containers