Source
The repository needs a compose.yaml (or docker-compose.yml) at its root.
Domains
Domain → the container port it serves, e.g. 8080, or web:8080 when the compose file has several services. The panel publishes that port on a free local port for Caddy, so the compose file needs no ports:. A host:port such as 127.0.0.1:8081 points at something outside the app. Path is optional, e.g. /api/*.
Environment variables optional