forked from erp-dev/erp
190 lines
4.2 KiB
YAML
190 lines
4.2 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: postgres
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_DB: flower
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- 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
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: admin@admin.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_CONFIG_SERVER_MODE: "False"
|
|
ports:
|
|
- "5050:80"
|
|
volumes:
|
|
- pgadmin_data:/var/lib/pgadmin
|
|
depends_on:
|
|
- postgres
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: redis
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
restart: unless-stopped
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3-management-alpine
|
|
container_name: rabbitmq
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: guest
|
|
RABBITMQ_DEFAULT_PASS: guest
|
|
ports:
|
|
- "5672:5672"
|
|
- "15672:15672"
|
|
volumes:
|
|
- rabbitmq_data:/var/lib/rabbitmq
|
|
restart: unless-stopped
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
target: base
|
|
container_name: flower_web
|
|
command: python manage.py runserver 0.0.0.0:8100
|
|
ports:
|
|
- "8100:8100"
|
|
volumes:
|
|
- .:/app
|
|
environment:
|
|
DJANGO_SETTINGS_MODULE: flower.settings
|
|
PYTHONPATH: /app
|
|
DEBUG: "1"
|
|
ALLOWED_HOSTS: "localhost,127.0.0.1,0.0.0.0,8.148.215.233,yuwenerp.yuwen.cloud"
|
|
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_worker:
|
|
build:
|
|
context: .
|
|
target: base
|
|
container_name: celery_worker
|
|
command:
|
|
- celery
|
|
- -A
|
|
- flower
|
|
- worker
|
|
- -l
|
|
- info
|
|
- --concurrency=2
|
|
- --pool=solo
|
|
volumes:
|
|
- .:/app
|
|
depends_on:
|
|
- pgbouncer
|
|
- postgres
|
|
- redis
|
|
- rabbitmq
|
|
environment:
|
|
CELERY_BROKER_URL: amqp://guest:guest@rabbitmq:5672//
|
|
CELERY_RESULT_BACKEND: redis://redis:6379/0
|
|
PYTHONPATH: /app
|
|
DB_HOST: pgbouncer
|
|
DB_PORT: "6432"
|
|
DB_NAME: flower
|
|
DB_USER: postgres
|
|
DB_PASSWORD: postgres
|
|
restart: unless-stopped
|
|
|
|
celery_beat:
|
|
build:
|
|
context: .
|
|
target: base
|
|
container_name: celery_beat
|
|
command:
|
|
- celery
|
|
- -A
|
|
- flower
|
|
- beat
|
|
- -l
|
|
- info
|
|
- --schedule
|
|
- /var/lib/celery/celerybeat-schedule
|
|
volumes:
|
|
- .:/app
|
|
- celery_beat_data:/var/lib/celery
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- rabbitmq
|
|
environment:
|
|
DJANGO_SETTINGS_MODULE: flower.settings
|
|
PYTHONPATH: /app
|
|
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:
|
|
db_data:
|
|
redis_data:
|
|
pgadmin_data:
|
|
rabbitmq_data:
|
|
celery_beat_data:
|
|
|