I know the docs make it look like it does, but it doesn't really.
What it actually supports is copy + pasting sections of Docker Compose for prebuilt images.
So let's say you have a docker-compose.yaml where one of your services uses "build"/"context" and points to a local Dockerfile. You cannot deploy this to CapRover (in this way, through docker-compose.yaml).
The docker-compose support is more geared towards the "one-click" apps they have when you want to deploy something like pgAdmin or MySQL which uses a prebuilt image.
Because of this, it means you can't really deploy your existing setup. From the instructions:
1. Navigate to Apps
2. Click on "One Click Apps/Databases"
3. Navigate to the very bottom of the list, and click on the last item, called >> TEMPLATE <<
^^ Because this is happening on your serverside instance, in a web app, it has no context for local files.
The "Alternative Approach" is to connect to your instance and upload the source + manually run "docker-compose up" with it wired to the overlay network. This is not a good or scalable solution IMO.