odoo-dine360-restaurants/devops/docker-compose.yml
Alaguraj0361 b9d5617051 Add SaaS multi-tenant models and views for restaurant management
- Introduced `saas.plan` model to define subscription plans with limits and pricing.
- Created `saas.restaurant` model to manage restaurant tenants, including database provisioning and subscription management.
- Implemented views for managing SaaS plans and restaurant tenants, including tree and form views.
- Added security access rights for the new models.
- Developed a backup management view for database backups.
- Updated menu structure to include new SaaS management options.
- Added Docker and deployment configurations for PostgreSQL, Redis, and Odoo services.
- Included scaling guide and backup scripts for production environments.
- Enhanced theme with new images and layout adjustments.
2026-06-19 15:03:51 +05:30

109 lines
2.3 KiB
YAML

version: "3.8"
services:
db:
image: postgres:15-alpine
container_name: dine360_saas_db
environment:
POSTGRES_DB: postgres
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo_master_pass_2026
volumes:
- pgdata:/var/lib/postgresql/data
- ./postgresql.conf:/etc/postgresql/postgresql.conf
command: "postgres -c config_file=/etc/postgresql/postgresql.conf"
ports:
- "5432:5432"
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U odoo"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: dine360_saas_redis
volumes:
- redisdata:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
command: "redis-server /usr/local/etc/redis/redis.conf"
ports:
- "6379:6379"
restart: always
pgbouncer:
image: edoburu/pgbouncer:latest
container_name: dine360_saas_pgbouncer
environment:
- DB_USER=odoo
- DB_PASSWORD=odoo_master_pass_2026
- DB_HOST=db
- DB_PORT=5432
- MAX_CLIENT_CONN=10000
- DEFAULT_POOL_SIZE=50
- MIN_POOL_SIZE=10
- POOL_MODE=transaction
ports:
- "6432:6432"
depends_on:
- db
restart: always
web:
image: odoo:17.0
container_name: dine360_saas_web
depends_on:
- db
- redis
- pgbouncer
ports:
- "8069:8069"
- "8072:8072"
volumes:
- odoo_data:/var/lib/odoo
- ../addons:/mnt/extra-addons
environment:
- HOST=pgbouncer
- PORT=6432
- USER=odoo
- PASSWORD=odoo_master_pass_2026
command: >
odoo
--workers=9
--max-cron-threads=0
--db-filter=^%d$$
--proxy-mode
--limit-time-cpu=600
--limit-time-real=1200
--session-store=redis
restart: always
cron:
image: odoo:17.0
container_name: dine360_saas_cron
depends_on:
- db
- redis
- pgbouncer
volumes:
- odoo_data:/var/lib/odoo
- ../addons:/mnt/extra-addons
environment:
- HOST=pgbouncer
- PORT=6432
- USER=odoo
- PASSWORD=odoo_master_pass_2026
command: >
odoo
--workers=0
--max-cron-threads=4
--db-filter=^%d$$
--proxy-mode
restart: always
volumes:
pgdata:
redisdata:
odoo_data: