Docker Compose V3 app container can't access couchdb container
Your mistake is that you are did not register the app service on the app-net network. To allow containers to connect with one another, they have to share a network and then use the image name as the domain name. Docker provides a network internal DNS service.

version: '3'
services:
  couchdb:
    image: couchdb:latest
    restart: always
    volumes:
      - couchdb-data-volume:/usr/local/var/lib/couchdb
    env_file: .env.docker
    ports:
      - "12345:5986"
    networks:
      app-net:

  app:
    build: .
    image: app
    container_name: app
    restart: always
    depends_on:
      - couchdb
    env_file: .env.docker  
    networks:
      - app-net

volumes:
  couchdb-data-volume:

networks:
  app-net:


The URL from the app to the couchdb service would be http://couchdb:5986. To test this, open bash inside the app service with docker exec -it app. This depends on the container_name setting.