services: postgres: image: postgres:16 container_name: bilhej-postgres ports: - "5432:5432" environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 5 backend: build: dockerfile: docker/backend.Dockerfile context: . container_name: bilhej-backend ports: - "8080:8080" environment: SPRING_PROFILES_ACTIVE: docker POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} JWT_SECRET: ${JWT_SECRET} STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY} STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET} STRIPE_PRICE_ID: ${STRIPE_PRICE_ID} depends_on: postgres: condition: service_healthy volumes: - .:/app - backend-gradle-project:/app/.gradle - gradle-cache:/root/.gradle frontend: build: dockerfile: docker/frontend.Dockerfile context: . container_name: bilhej-frontend ports: - "3000:3000" depends_on: - backend volumes: - ./frontend/src:/app/src - ./frontend/public:/app/public - ./frontend/index.html:/app/index.html volumes: pgdata: gradle-cache: backend-gradle-project: