Best way to manage stacks?

What is the best way to manage stacks in Rancher?

Stacks can be created by

  1. Rancher UI
  2. UI file import
  3. rancher-compose cli

But is the choice important for stack upgrades (new parameters or images) / extension (additional service)?
Could I deploy a stack service by UI (with docker-compose file) and upgrade it later with rancher-compose cli? Would it also work without a used docker-compose file by exporting the docker-compose and use it for rancher-compose cli?

Work with docker-compose files and rancher would be simple to maintain with a git repo.

I also tried to use rancher-compose to deploy multiple webspaces, but it failed because of the service name. It need to be unique and can’t set by env-file.