1
0
forked from erp-dev/erp

fix: added pgBouncer for conn pool manage

This commit is contained in:
2025-12-24 21:26:31 +08:00
parent 3d3f00232d
commit c832e26907
13 changed files with 160926 additions and 31 deletions

View File

@@ -14,6 +14,38 @@ services:
- db_data:/var/lib/postgresql/data
restart: unless-stopped
pgbouncer:
image: pgbouncer/pgbouncer:latest
container_name: pgbouncer
environment:
POSTGRES_HOST: postgres
POSTGRES_PORT: "5432"
POSTGRES_DB: flower
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
DATABASES_HOST: postgres
DATABASES_PORT: "5432"
DATABASES_USER: postgres
DATABASES_PASSWORD: postgres
DATABASES_DBNAME: flower
PGBOUNCER_POOL_MODE: transaction
PGBOUNCER_MAX_CLIENT_CONN: "100"
PGBOUNCER_DEFAULT_POOL_SIZE: "25"
PGBOUNCER_MIN_POOL_SIZE: "5"
PGBOUNCER_RESERVE_POOL_SIZE: "5"
PGBOUNCER_RESERVE_POOL_TIMEOUT: "3"
PGBOUNCER_SERVER_IDLE_TIMEOUT: "600"
PGBOUNCER_LOG_CONNECTIONS: "1"
PGBOUNCER_LOG_DISCONNECTIONS: "1"
PGBOUNCER_LOG_POOLER_ERRORS: "1"
ports:
- "6432:6432"
volumes:
- ./pgbouncer/pgbouncer.ini:/etc/pgbouncer/pgbouncer.ini:ro
depends_on:
- postgres
restart: unless-stopped
pgadmin:
image: dpage/pgadmin4:latest
container_name: pgadmin
@@ -68,12 +100,13 @@ services:
PYTHONPATH: /app
DEBUG: "1"
ALLOWED_HOSTS: "localhost,127.0.0.1,0.0.0.0,8.148.215.233,yuwenerp.yuwen.cloud"
DB_HOST: postgres
DB_PORT: "5432"
DB_HOST: pgbouncer
DB_PORT: "6432"
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
depends_on:
- pgbouncer
- postgres
- redis
- rabbitmq
@@ -103,11 +136,16 @@ services:
CELERY_BROKER_URL: amqp://guest:guest@rabbitmq:5672//
CELERY_RESULT_BACKEND: redis://redis:6379/0
PYTHONPATH: /app
DB_HOST: postgres
DB_PORT: "5432"
DB_HOST: pgbouncer
DB_PORT: "6432"
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
depends_on:
- pgbouncer
- postgres
- redis
- rabbitmq
restart: unless-stopped
celery_beat:
@@ -131,13 +169,18 @@ services:
environment:
DJANGO_SETTINGS_MODULE: flower.settings
PYTHONPATH: /app
DB_HOST: postgres
DB_PORT: "5432"
DB_HOST: pgbouncer
DB_PORT: "6432"
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
CELERY_BROKER_URL: amqp://guest:guest@rabbitmq:5672//
CELERY_RESULT_BACKEND: redis://redis:6379/0
depends_on:
- pgbouncer
- postgres
- redis
- rabbitmq
restart: unless-stopped
volumes: