I used Gitea for a while. I eventually switched to gitolite and CGit primarily because Gitea (and Forgejo) force you into a flat organization/project structure. This makes organizing personal projects harder because:
1. you need to create an organization for each group (lang, tools, template, etc.)
2. you can't create more complex organization structure (e.g. template/python/python-flask-template)
3. you can't group projects with different top-level names (e.g. apps, tools, lang; such as lang/java and tools/gradle) or across a top-level name (e.g. by programming language such as lang/typescript and lang/python)
1. you need to create an organization for each group (lang, tools, template, etc.)
2. you can't create more complex organization structure (e.g. template/python/python-flask-template)
3. you can't group projects with different top-level names (e.g. apps, tools, lang; such as lang/java and tools/gradle) or across a top-level name (e.g. by programming language such as lang/typescript and lang/python)