networks: ploughshares-network: driver: bridge services: app: build: context: ./docker/ploughshares ports: - "5001:5001" environment: - FLASK_RUN_PORT=5001 - POSTGRES_HOST=db - POSTGRES_PORT=5432 - POSTGRES_DB=ploughshares - POSTGRES_USER=ploughshares - POSTGRES_PASSWORD=ploughshares_password depends_on: db: condition: service_healthy restart: unless-stopped networks: - ploughshares-network db: image: postgres:12 environment: - POSTGRES_DB=ploughshares - POSTGRES_USER=ploughshares - POSTGRES_PASSWORD=ploughshares_password volumes: - postgres_data:/var/lib/postgresql/data - ./docker/ploughshares/schema.sql:/docker-entrypoint-initdb.d/schema.sql restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ploughshares -d ploughshares"] interval: 10s timeout: 5s retries: 5 networks: - ploughshares-network volumes: postgres_data: