|
|
|
@ -1,4 +1,22 @@ |
|
|
|
services: |
|
|
|
db: |
|
|
|
image: postgres:16-alpine |
|
|
|
container_name: divar_postgres |
|
|
|
restart: always |
|
|
|
environment: |
|
|
|
POSTGRES_DB: ${POSTGRES_DB:-divar_crawler} |
|
|
|
POSTGRES_USER: ${POSTGRES_USER:-postgres} |
|
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} |
|
|
|
ports: |
|
|
|
- "5432:5432" |
|
|
|
volumes: |
|
|
|
- postgres_data:/var/lib/postgresql/data |
|
|
|
healthcheck: |
|
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-divar_crawler}"] |
|
|
|
interval: 5s |
|
|
|
timeout: 5s |
|
|
|
retries: 5 |
|
|
|
|
|
|
|
redis: |
|
|
|
image: redis:7-alpine |
|
|
|
container_name: divar_redis |
|
|
|
@ -20,11 +38,14 @@ services: |
|
|
|
- "8000:8000" |
|
|
|
environment: |
|
|
|
- REDIS_URL=redis://redis:6379/0 |
|
|
|
- POSTGRES_HOST=db |
|
|
|
env_file: |
|
|
|
- .env |
|
|
|
volumes: |
|
|
|
- ./backend:/app/backend |
|
|
|
depends_on: |
|
|
|
db: |
|
|
|
condition: service_healthy |
|
|
|
redis: |
|
|
|
condition: service_healthy |
|
|
|
|
|
|
|
@ -36,15 +57,16 @@ services: |
|
|
|
command: sh -c "celery -A config worker --loglevel=info -P gevent -c 20" |
|
|
|
environment: |
|
|
|
- REDIS_URL=redis://redis:6379/0 |
|
|
|
- POSTGRES_HOST=db |
|
|
|
env_file: |
|
|
|
- .env |
|
|
|
volumes: |
|
|
|
- ./backend:/app/backend |
|
|
|
depends_on: |
|
|
|
db: |
|
|
|
condition: service_healthy |
|
|
|
redis: |
|
|
|
condition: service_healthy |
|
|
|
backend: |
|
|
|
condition: service_started |
|
|
|
|
|
|
|
frontend: |
|
|
|
build: |
|
|
|
@ -60,3 +82,6 @@ services: |
|
|
|
- /app/frontend/node_modules |
|
|
|
depends_on: |
|
|
|
- backend |
|
|
|
|
|
|
|
volumes: |
|
|
|
postgres_data: |