/domains/sign-in and /domains/callback do Tea MCP's own Gitea OAuth (the Green Tea MCP app) in the browser, keep only the name from Gitea, and leave a signed, HttpOnly cookie on mcp.teahub.xyz for 30 days. GET /domains wants it (401 with a sign-in link otherwise) and rate-limits per person. The Domains tab sends that cookie, offers the sign-in on a 401, and runs the waiting search on the way back. Tested end to end against a Gitea 28 and Cloudflare. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
Teahub's look on Gitea
Gitea reads these from its custom directory, /data/gitea on green-tea's volume (GITEA_CUSTOM). It reads templates
when it starts, so a template change needs a restart; files under public/ are served as they are.
templates/home.tmpl: the signed-out home page, Teahub = Git + Tea + Time beside the cup.templates/user/dashboard/dashboard.tmpl: Gitea 28's dashboard with the repository list and the contribution heatmap moved into the sidebar.templates/custom/header.tmpl,templates/custom/footer.tmpl: loadteahub.cssandteahub.js. Bump their?v=when those files change, because browsers keep assets for hours.public/assets/css/teahub.css: green tea colours for Gitea's light, dark and auto themes, the name beside the navbar's cup, the home page and the sidebar.public/assets/js/teahub.js: the home page's title, "Powered by Teahub", and the dashboard's Domains tab, which asks Tea MCP'sGET /domains(Cloudflare Registrar) and shows exact names and suggestions with their prices.public/assets/img/: the 🍵 mark. The SVGs draw the emoji in the reader's own emoji font. The PNGs (link previews, browser tabs, phone home screens) are Noto Emoji's U+1F375 (googlefonts/noto-emoji, Apache License 2.0).
The two page templates are Gitea 28.0.0's with Teahub's changes. After a Gitea upgrade, compare them with the new
release's (gitea embedded extract --destination x 'templates/**') before deploying it.
../sync-custom.sh puts this directory on prod (it needs flyctl signed in to Teahub's Fly organisation).