Skip to content
Manybases

Deployment

Push to main. The site switches in one block.

A static front end deposited straight from GitHub, with no key stored anywhere and no copy kept on our side.

Read the docs
TimeNameURL
  • 14:32habit-loophabit-loop.manybases.online
  • 14:07crm-litecrm-lite.manybases.online
  • 13:41invoice-botinvoice-bot.manybases.online
  • 11:26book-clubbook-club.manybases.online

No key in your repository.The workflow proves where it is running, and that is the credential.

.github/workflows/manybases-deploy.yml
on:
  push:
    branches: [main]
  workflow_dispatch:

permissions:
  contents: read
  id-token: write

GitHub signs a short-lived token naming the repository the run is in. We check three things: its signature against GitHub’s public keys, its audience as an exact string, and the link between that repository and the project in the URL. Nothing is stored on either side.

The link is anchored on the repository’s numeric id, never its name — a renamed repository keeps its id, and the name it frees can be registered by anyone. The GitHub App only reads which repositories exist: never your code, never a secret, never your workflows.

not on pull_request, on purpose — a PR could ask for the same token

Atomic, and public at once.Two properties that decide how you work with it.

One block, or nothing

Either every file is accepted and the site switches together, or nothing switches and the previous site stays exactly as it was. There is no half-deployed state to catch a visitor in.

Public the second it lands

No password, no allow-list, no staging URL. Your repository is the only place the site exists — which is the same reason your export is your backup.

proj-<id>.manybases.online · 500 files · 10 MiB a site · automatic HTTPS

What it will not do.On purpose, and worth knowing before you build on it.

  • No rollback. To go back, run the workflow on an earlier commit — we keep no copy of a site, which is also why nothing of yours sits on a server you cannot reach.

  • No password and no allow-list. A site is public the second the upload succeeds. A second project is how you stage.

  • No custom domain yet, and the address is not a name you pick: it is computed from the project id, so it never changes.

Questions.Keys, hosting, and going back.

No. The workflow asks GitHub for a short-lived token that names the run’s own repository, and we accept the upload because that repository is linked to your project. There is no secret to store on either side.

Yes, and nothing changes. Both hosts answer browsers from any origin, so a site on Vercel, Netlify or your own server talks to the API exactly as one hosted here does.

By running the workflow again on an earlier commit. We keep no copy of a site. The deposit is atomic, so a refused push leaves the previous site untouched — but there is no previous-version button.

Next.The parts this one leans on.

Many Apps

Your apps on your phone — coming to iPhone

MCP

Thirty-seven tools for your agent

Storage

Files, signed links, no egress

Got another idea?

Give it a backend.