This to works for me - at least for a toy application. But the installation complains that yarn is not installed and looking at the yarn installation this needs to be done with root privileges.
I wonder why it is necessary to create a separate shell user per application. This makes things a little bit more complicated if you want to use git and capistrano for deployment. I haven't tried this yet, but I think you will need to have the shell user be the owner of the git repo, which means you have to have separate gitea accounts (and emails,...) for each shell user. Maybe this could be resolved with a common group for all shell users created by a dashboard user, and set things up so they all have access to all repos managed by a single gitea account.