'Docker-Compose build image and use its .env file which are stored in another directory

I have a docker-compose file which contains a bunch of services. To that docker-compose file, I want to add another service now. The other service files (including its .env) are stored in another folder. I tried to build it like I show you below, but it isnt working. Where do I go wrong?

The docker-compose.yml is contained in the directory nft-trading-service, the other dockerfile which I am trying to include in this docker-compose.yaml is in its own folder nft-asset-updater.

So the structure looks like this

root/nft-trading-server (holding docker-compose.yml) root/nft-asset-updater (holding its own Dockerfile and .env)

version: "3"
services:
  nftapi:
    env_file:
      - .env
    build:
      context: .
    ports:
      - '5000:5000'
    depends_on: 
      - postgres

    networks:
      - postgres

    extra_hosts:
      - "host.docker.internal:host-gateway"
    
    restart: always

  asset_update_service:
    env_file:
      - .env
    build:
      context: ../nft-asset-updater
      dockerfile: .
    ports:
      - '9000:9000'
    depends_on: 
      - postgres

    networks:
      - postgres

    extra_hosts:
      - "host.docker.internal:host-gateway"
    
    restart: always
      
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
    - "5432:5432"
    volumes:
    - /data/postgres:/var/lib/postgresql/data
    env_file:
    - docker.env
    networks:
    - postgres
 
  pgadmin:
    links:
    - postgres:postgres
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
    - "8080:80"
    env_file:
    - docker.env
    networks:
    - postgres
 
networks:
  postgres:
    driver: bridge


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source