You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
941 B
46 lines
941 B
services: |
|
|
|
db: |
|
image: postgres:16-alpine |
|
environment: |
|
POSTGRES_DB: qa_test |
|
POSTGRES_USER: qa_user |
|
POSTGRES_PASSWORD: qa_password |
|
volumes: |
|
- postgres_data:/var/lib/postgresql/data |
|
healthcheck: |
|
test: ["CMD-SHELL", "pg_isready -U qa_user -d qa_test"] |
|
interval: 5s |
|
timeout: 5s |
|
retries: 10 |
|
|
|
backend: |
|
build: ./backend |
|
environment: |
|
DATABASE_URL: postgresql+asyncpg://qa_user:qa_password@db:5432/qa_test |
|
depends_on: |
|
db: |
|
condition: service_healthy |
|
volumes: |
|
- ./backend:/app |
|
|
|
frontend: |
|
build: ./frontend |
|
volumes: |
|
- ./frontend/src:/app/src |
|
- ./frontend/index.html:/app/index.html |
|
depends_on: |
|
- backend |
|
|
|
nginx: |
|
image: nginx:alpine |
|
ports: |
|
- "80:80" |
|
volumes: |
|
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf |
|
depends_on: |
|
- backend |
|
- frontend |
|
|
|
volumes: |
|
postgres_data:
|
|
|