version: '0.1' services: backend: build: context: ./backend dockerfile: Dockerfile volumes: - uploaded_images:/uploads ports: - '8080:8080' environment: DB_HOST: db DB_PORT: 5432 DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} DB_NAME: ${DB_NAME} depends_on: db: condition: service_healthy db: image: postgres:14 restart: always environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} volumes: - data:/var/lib/postgresql/data - ./database/init/01-schema.sql:/docker-entrypoint-initdb.d/01-schema.sql - ./database/init/02-seed.sql:/docker-entrypoint-initdb.d/02-seed.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 5 volumes: data: uploaded_images: