services: backend: build: context: ./backend dockerfile: Dockerfile.dev container_name: spring_boot_container ports: - "8080:8080" volumes: - ./backend:/app - maven_cache:/root/.m2 environment: SPRING_DATASOURCE_URL: jdbc:postgresql://database:5432/${POSTGRES_DB} SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER} SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD} SPRING_DOCKER_COMPOSE_ENABLED: "false" MAVEN_OPTS: -Dstyle.color=always -Dspring.output.ansi.enabled=always depends_on: database: condition: service_healthy database: image: postgres:17 container_name: postgres_container environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 5 frontend: build: context: ./frontend dockerfile: Dockerfile.dev container_name: react_container ports: - "5173:5173" volumes: - ./frontend:/app - node_modules:/app/node_modules environment: - CHOKIDAR_USEPOLLING=true depends_on: - backend volumes: postgres_data: maven_cache: node_modules: