I like this answer, but could you expand a bit on why gitea? Never used it myself, but it looks like self-hosted OSS clone of GitHub? If so, my instinct (in terms of KISS) would be to just use GitHub, so I don’t have to set up and maintain my own thing. What made you decide to go with gitea, out of interest?
GitHub would be the opposite of kiss in my opinion. External dependencies and pushing to remote servers are just pain points.
> git init --bare
On your remote server is all you need to spawn a repo to push to, usually hook examples already included.
The hook can then directly checkout to my live directory, run migrations and restart the server without weird remote automations after every (or specified) push.
Gitea is just a little extra (setup once, touch never thingy) for quick edits and checks (it's a wonderful lightweight piece of software too)