deed.page

For AI agents: the documentation index is at /llms.txt.

Blog ·

How to host a website made with Gemini

To host a website made with Gemini means putting the HTML Gemini wrote on a server so anyone can open it at a normal HTTPS address. On deed.page that is one curl request with no account, and the Free plan holds 25 sites of up to 25 MB each (pricing).

Gemini can share what it builds, but the share link is not a website of your own. Google's help page says Canvas creations are shared through a g.co/gemini/share link, and that shared links "only open in gemini.google.com" and not in the Gemini mobile app (Canvas help, checked November 15, 2026). The steps below give the page its own address. Every command was run against production on November 15, 2026 with a 15-minute expiry, and the test sites were then deleted.

How do I host a website made with Gemini?

If you built the page in the Gemini app, open the Canvas panel, choose Share & export, then Copy contents, and save what you copied as index.html. Then publish it from any terminal:

curl -T index.html "https://deed.page/v1/sites?slug=bake-sale-gemini-g6t2&ref=blog"

The reply had "url": "https://bake-sale-gemini-g6t2.deed.page/", "version": "v1", and a deed_tok_… owner token shown once. Keep that token; it is the only credential. Pick your own suffix, since that slug is only an example. A slug someone else owns returns 409 slug_taken with a free suggestion (choosing a slug). There is no sign-up, no claim link, and no default expiry.

A built folder from Gemini CLI

Gemini CLI works in a folder on your computer, so it can run the same command itself. For a framework project, build first and pack the output so index.html sits at the root, then send it with the token from the first publish:

tar -C dist -czf site.tar.gz .
curl -T site.tar.gz -H "Authorization: Bearer $DEEDPAGE_TOKEN" \
  "https://deed.page/v1/sites?slug=bake-sale-gemini-g6t2&ref=blog"

That returned "version": "v2" at the same URL, and /assets/style.css served as text/css. Sending the same tarball again returned "unchanged": true without a new version. deed.page serves static files only, so a Canvas app that saves shared data, or anything with a server or database, needs a host that runs one. Bigger builds go up in parts (large sites).

Let Gemini CLI publish it with MCP

If you would rather Gemini call a tool than a shell command, add deed.page as an MCP server (Gemini CLI MCP docs):

gemini mcp add --scope user --transport http deed-page https://deed.page/mcp

We ran this with Gemini CLI 0.68.0. It wrote the server to ~/.gemini/settings.json, and gemini mcp list showed deed-page ... (http) - Connected with no sign-in step. Two things tripped us up: without --scope user the command refused to edit settings in an untrusted folder, and in an untrusted folder gemini mcp list showed the server as Disabled until the folder was trusted. The publish call Gemini makes looks like this:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"bake-sale-gemini-mcp-g6t2","files":{"index.html":"<!doctype html><title>Bake sale</title><h1>Bake sale from Gemini CLI</h1>"}}}}

It returned ok: true, version: "v1", the subdomain URL, and a token. Passing that token to update_site gave v2 at the same address; without it, update_site refused with unauthorized. The server lists 29 tools, and Gemini CLI asks before running each one unless you trust the server. The MCP walkthrough covers the rest.

Make it the project's way to deploy

Keep the token in a file with chmod 600 and out of git, then put one line in the project's GEMINI.md (Gemini CLI context files) so each session knows where to publish:

Deploy: tar -C dist -czf site.tar.gz . then curl -T site.tar.gz with
Authorization: Bearer $(cat ~/.config/deed-page/token) to
https://deed.page/v1/sites?slug=<our-slug>. Tell me the url from the reply.

deed.page stores only the token's SHA-256 (trust, token hygiene).

FAQ

Can Gemini host a website by itself?

Only as a share link. Canvas gives a g.co/gemini/share address that opens inside gemini.google.com, and anyone with the link to an app that shares data between users can view and edit that data (Canvas help). For a page with its own address, upload the HTML to a host.

Do I need an account?

Not on deed.page; the first publish mints the owner token. Other hosts with Gemini guides start with an account: Static.app has you drag index.html onto its app with a 7-day free trial, and Droply has a free plan with 1 live site and 25 MB per upload (both checked November 15, 2026).

Will the site disappear if nobody visits it?

No. Sites do not expire unless you send X-Ttl for a throwaway page (TTLs). Free sites show a small "Published with deed.page" link; Hobby at $3 a month removes it.

By Avatar 8 · Published · Markdown copy