mirror of
https://github.com/odoocker/odoocker
synced 2025-11-04 15:19:22 +01:00
Merge pull request #18 from codeagencybe/pgbouncer
Fabio | Feature | PgBouncer service
This commit is contained in:
11
.env.example
11
.env.example
@@ -15,13 +15,14 @@ DEV_MODE=
|
||||
|
||||
# Services
|
||||
PROJECT_NAME=odoocker
|
||||
SERVICES=odoo,nginx,proxy,postgres
|
||||
SERVICES=odoo,nginx,proxy,postgres,pgbouncer
|
||||
|
||||
# Service configuration
|
||||
USE_REDIS=false
|
||||
USE_S3=false
|
||||
USE_SENTRY=false
|
||||
USE_PGADMIN=false
|
||||
USE_PGBOUNCER=false
|
||||
|
||||
# GitHub user and access token to clone private repositories
|
||||
GITHUB_USER=
|
||||
@@ -46,6 +47,11 @@ UNACCENT=False
|
||||
LIST_DB=True
|
||||
DBFILTER=.*
|
||||
|
||||
# PgBouncer
|
||||
POOL_MODE=transaction
|
||||
MAX_CLIENT_CONN=500
|
||||
ADMIN_USERS=postgres,dbuser,odoo
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=info
|
||||
# Additional logs
|
||||
@@ -135,6 +141,7 @@ USE_REDIS=${USE_REDIS}
|
||||
USE_S3=${USE_S3}
|
||||
USE_SENTRY=${USE_SENTRY}
|
||||
USE_PGADMIN=${USE_PGADMIN}
|
||||
USE_PGBOUNCER=${USE_PGBOUNCER}
|
||||
|
||||
# Which services are going to be brought up
|
||||
COMPOSE_PROFILES=${SERVICES}
|
||||
@@ -149,10 +156,12 @@ ACME_COMPANION_PROFILES="acme"
|
||||
KEYDB_PROFILES="keydb"
|
||||
MINIO_PROFILES="minio"
|
||||
PGADMIN_PROFILES="pgadmin"
|
||||
PGBOUNCER_PROFILES="pgbouncer"
|
||||
|
||||
# Containers' Tags
|
||||
ODOO_TAG=17.0
|
||||
POSTGRES_TAG=16.1
|
||||
PGBOUNCER_TAG=latest
|
||||
KEYDB_TAG=latest
|
||||
MINIO_TAG=latest
|
||||
NGINX_TAG=1.25.3
|
||||
|
||||
@@ -12,6 +12,11 @@ services:
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
pgbouncer:
|
||||
restart: 'no'
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
nginx:
|
||||
restart: 'no'
|
||||
|
||||
|
||||
@@ -12,6 +12,11 @@ services:
|
||||
ports:
|
||||
- 127.0.0.1:5432:5432
|
||||
|
||||
pgbouncer:
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 127.0.0.1=5432:5432
|
||||
|
||||
nginx:
|
||||
restart: unless-stopped
|
||||
|
||||
|
||||
@@ -83,6 +83,23 @@ services:
|
||||
- internal
|
||||
profiles: [$POSTGRES_PROFILES]
|
||||
|
||||
pgbouncer:
|
||||
image: edoburu/pgbouncer:latest
|
||||
container_name: pgbouncer
|
||||
restart: always
|
||||
depends_on:
|
||||
- db
|
||||
#ports:
|
||||
# - "5432:5432"
|
||||
environment:
|
||||
- DB_HOST=db
|
||||
- DB_USER=odoo
|
||||
- DB_PASSWORD=odoo
|
||||
- MAX_CLIENT_CONN=500
|
||||
- POOL_MODE=transaction
|
||||
- ADMIN_USERS=postgres,dbuser,odoo
|
||||
profiles: [$PGBOUNCER_PROFILES]
|
||||
|
||||
nginx:
|
||||
container_name: nginx
|
||||
image: nginx:${NGINX_TAG}
|
||||
|
||||
20
pgbouncer/docker-entrypoint-initdb.d/init.sh
Normal file
20
pgbouncer/docker-entrypoint-initdb.d/init.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE USER dbuser WITH ENCRYPTED PASSWORD 'dbuser';
|
||||
CREATE DATABASE dbuser OWNER dbuser;
|
||||
|
||||
CREATE USER user1 WITH ENCRYPTED PASSWORD 'user1';
|
||||
CREATE DATABASE user1 OWNER user1;
|
||||
|
||||
CREATE USER user2 WITH ENCRYPTED PASSWORD 'user2';
|
||||
CREATE DATABASE user2 OWNER user2;
|
||||
|
||||
CREATE USER user3 WITH ENCRYPTED PASSWORD 'user3';
|
||||
CREATE DATABASE user3 OWNER user3;
|
||||
|
||||
CREATE USER odoo WITH ENCRYPTED PASSWORD 'odoo';
|
||||
CREATE DATABASE odoo OWNER odoo;
|
||||
|
||||
EOSQL
|
||||
Reference in New Issue
Block a user