# Stacktree Self-Hosted: buy the code, deploy on your own Cloudflare

Source: https://stacktr.ee/self-host

[Skip to content](#main) PFrom Product Hunt? Your first pages are free, no card. Code `PRODUCTHUNT` takes 50% off your first month of Studio.[Start free &rarr;](https://app.stacktr.ee/?join=1&from=producthunt)

&times;   A Stacktree customer sent you. Your first month is 50% off on any plan, taken off at checkout. [Start free &rarr;](https://app.stacktr.ee/?join=1&from=referral)

 &times;    [Stacktree](/)[Developers](/developers)[Agents](/agents)[Docs](/docs)[Use cases](/use-cases)[Pricing](/pricing)[Blog](/blog)[Dashboard](https://app.stacktr.ee)[Sign in →](https://app.stacktr.ee)      By [ Steve Smith ](/about) · Founder, Stacktree  ·  Last updated September 1, 2026
5 founder seats. Pricing rises at launch.

#
Buy the code. Run Stacktree on  your own Cloudflare.

     $999
one-time, founder pricing

 → $1,999 at launch    [
Lock in founder price →
](mailto:stevy@stacktr.ee?subject=Stacktree%20Self-Hosted%20%E2%80%94%20interested&body=Hi%20Steve%2C%0A%0AI%27d%20like%20to%20be%20first%20in%20line%20for%20Stacktree%20Self-Hosted.%0A%0AContext%20on%20our%20use%20case%3A%0A-%20Team%20size%3A%0A-%20Why%20self-host%20%28compliance%2C%20IP%2C%20cost%2C%20other%29%3A%0A-%20Rough%20volume%20%28sites%20per%20month%29%3A%0A%0AThanks%21) [
What's included
](#what-you-get)    ⌫  Full refund if we don't hit 5 founder buyers.
We won't build a product nobody wants, and you won't fund vapourware.

##  What is Stacktree Self-Hosted?

The full Stacktree codebase, packaged to deploy onto your own
      Cloudflare account in a single command. That's the landing site,
      the dashboard, the forty-one-verb MCP server, and the  `npx stacktree-install`
installer. Your R2 buckets, your D1 database, your Worker, your
      domain. Stacktree the company has zero access. Pay once, get the source
      plus lifetime updates, run it forever inside your own perimeter.

Every other private-HTML host wants your confidential docs on
 their servers. This is the
      same product on yours.

Email goes direct to the founder. Reply within 24 hours, every time.
      No newsletter, no drip campaign. Just a real conversation about
      whether self-host is the right fit for you.

Included

##
Everything we run for the hosted product. Yours.

   -    data  Your data, your perimeter R2 buckets, D1 database, KV namespaces, all provisioned in your Cloudflare account. Stacktree has zero access. Compliance teams audit Cloudflare's SOC 2 / ISO 27001 directly.
-    mcp  MCP server, day one Same 41 tool calls that power the hosted product: publish_html, update_site, delete_site, restore_site, claim_site, set_password, set_expiry, create_share_link, list_share_links, revoke_share_link, set_client_feedback, set_email_gate, list_sites, get_me, list_client_spaces, set_client, create_client_space, update_client_space, delete_client_space, get_design_guide, get_site, get_content, get_passcode, list_versions, restore_version, list_feedback, resolve_feedback, link_wallet, whos_it_for, unopened_pages, get_revision_brief, publish_revision, resolve_comments, request_approval, get_approval_status, list_responses, resolve_addressed_notes, open_html_file, stacktree_pages, publish_card_status, publish_card_open. Works in Claude Code, Codex, Cursor, Claude.ai connectors.
-    dash  Internal dashboard React admin UI for listing, gating, expiring, and deleting any artifact your team has published. Branded as Stacktree out of the box; rebrandable in five minutes.
-    auth  Cloudflare Access by default One-click SSO via your existing IdP (Okta, Entra, Google Workspace, GitHub, etc). Cloudflare Access handles it. No second auth system to operate. Alternative D1-backed local auth shipped for offline cases.
-    domains  Per-team custom domains Cloudflare for SaaS preconfigured so you can offer your end users their own docs.theirorg.com URLs, TLS provisioned automatically. Same flow as the hosted product.
-    audit  Audit log + retention controls Every publish, replace, gate change, and delete writes to a D1 audit table you own. Configurable retention policies. Pull rows into your SIEM via the read-only admin API.
-    cli  Installer wizard npx stacktree-deploy handles the Cloudflare API + wrangler dance. Provisions resources, runs migrations, sets secrets, deploys the worker. See the honest setup expectations below.
-    updates  Lifetime updates Tagged releases on GitHub. git pull, re-run npx stacktree-deploy --upgrade, done. Migrations versioned; no subscription, no sunset.
-    license  Source-available licence Audit it, modify it, deploy it internally, fork it for your own infra. You can't resell it as a competing public service. Standard BSL-shaped terms.

What you bring

##
A Cloudflare account and about 30 minutes. That's it.

    01 A Cloudflare account Free tier works for low-volume internal use. Workers Paid ($5/mo) recommended once you cross ~100k requests/day.  02 ~30 minutes The setup wizard does the rest. If you've never touched Wrangler, it's closer to an hour the first time.  03 Optionally: a domain If you skip this, you get a *.workers.dev URL out of the box. You can add custom domains later via Cloudflare for SaaS.
Setup

##
From "git clone" to a live private link in 30 minutes.

         ~/your-project

```
`# 1. Clone the private repo we send you
$ git clone git@github.com:stacktree/self-hosted.git
$ cd self-hosted

# 2. One command, end-to-end setup
$ npx stacktree-deploy

  ◆ Welcome to Stacktree Self-Hosted v1.x
  ◇ Detected wrangler v3.x
  ◆ Cloudflare API token? **********
  ◇ Found account: Acme Corp (a1b2c3...)
  ◆ Hostname to deploy on? docs.acme.com
  ◇ Provisioning D1 database... ✓
  ◇ Provisioning R2 bucket... ✓
  ◇ Running migrations... ✓ 11 migrations
  ◇ Building landing site... ✓ 31 pages
  ◇ Building dashboard... ✓
  ◇ Deploying worker... ✓
  ◇ Setting secrets... ✓ 6 secrets
  ◇ Configuring Cloudflare Access... ✓
  └ You're all set! Dashboard: https://docs.acme.com

# 3. Install the MCP into your agent
$ claude mcp add stacktree -- npx -y @your-org/stacktree-mcp

# Done. Your team can now ask Claude to publish HTML
# to https://docs.acme.com/p/<token>, and nothing
# about that flow goes anywhere near our infrastructure.`
```

       happy path  ~30 min  You already have a Cloudflare zone, you accept the default subdomain layout, and you wire Cloudflare Access for auth.

    typical  ~1–2 hr  You have a CF account but need to add your domain, generate API tokens, and pick a few options the wizard prompts for.

    edge cases  ~half a day  You want a single-hostname deploy, a non-default auth provider, or you're migrating an existing zone's nameservers to Cloudflare.

Compared

##
The only private-HTML host you can both rent and own.

      Criterion Stacktree SaaS Stacktree Self-Hosted tiiny.host · display.dev · here.now     Your data lives in your infra No, Stacktree-managed CF Yes, your R2 + D1 No, vendor-managed  MCP-native (agent can publish) Yes, same forty-one verbs Yes, same forty-one verbs Partial / roadmap  Custom domains for your end users Solo and up, CF for SaaS Included, your CF for SaaS account Paid tiers  SSO via your IdP (Okta, Entra…) Email-domain gate per link Cloudflare Access, full SSO Enterprise tier only  Audit log + retention controls Standard tier Yours, pull into your SIEM Vendor-defined  Compliance evidence Cloudflare SOC 2 (inherited) Cloudflare SOC 2 (your account, your auditor) Whatever the vendor publishes  Source available No Yes, full monorepo No  Pricing model $19 / $79 / $249 per month $999 one-time (founder) / $1,999 at launch Per-seat / per-MB / quotas  Time to first publish ~60 seconds (signup → URL) ~30 to 60 minutes (setup → URL) ~60 seconds (signup → URL)  Update cadence Continuous Tagged releases, git pull Continuous  Lock-in risk Low (export anytime) None (fork forever) High (vendor pricing, roadmap)
Honest take: if you're not data-residency or IP-constrained, the
      hosted SaaS will be a better fit. Cheaper at small scale, zero ops.
      Self-host exists for the cases where "another vendor with our docs"
      isn't an option.

## Who this is for

  - Compliance-led teams who can't put confidential dashboards through a third-party SaaS: legal, healthcare, finance, defence, regulated SaaS vendors.
 - Internal-tool teams at $BIGCO who already run on Cloudflare and want a turnkey "publish HTML privately" primitive their agents can call.
 - Agencies wanting to wrap Stacktree under their own brand for their client base (white-label tier on the way).
 - Privacy-first indie hackers who'd rather pay once than rent forever.

## Who this is not for

  - Teams happy paying a monthly SaaS bill for the hosted plan. That's by far the best path for most users, and still our default recommendation.
 - Teams that need to run outside Cloudflare's ecosystem (AWS-only shops, on-prem hardware, air-gapped environments). v1 is Cloudflare-only. If this is you, email me first. A Docker-based portable build is on the table if there's clear demand.
 - Teams that need an SLA-backed support tier today. Self-host has community support; commercial-grade SLAs are an annual add-on you can buy separately.

## Why now, why this price

Founder pricing ($999) is open until we ship v1. Customers in this window:

  - Get the source the day v1 lands, ahead of everyone else.
 - Get a direct line to the founder during build. Your feedback shapes what ships.
 - Lock in lifetime updates at $999. After launch, the same product is $1,999.

Capped at 5 founder seats so we can give every one of you real attention during the build.

FAQ

## Frequent questions

     When does Stacktree Self-Hosted ship? +  We are building it now, prioritised against signed-up demand. Founder-price customers ship first and lock in lifetime updates at $999. After launch the price moves to $1,999.   What exactly do I get? +  Private GitHub repo with the full source for the landing site, dashboard, worker, MCP server, and CLI installer. A one-command setup wizard (`npx stacktree-deploy`) that provisions your D1, R2, and Worker. Lifetime updates via `git pull` + redeploy. A source-available licence covering any internal use.   What do I need to bring? +  A Cloudflare account (free tier is fine for low-volume use) and ~30 minutes for the setup wizard. Optionally: a domain, Cloudflare for SaaS (for your end users' custom domains), and a Resend or similar SMTP account if you want email-gated links.   Where does my data live? +  Entirely inside your Cloudflare account. R2 buckets are yours. D1 databases are yours. Worker is yours. Logs are yours. Stacktree (us) has zero access to anything you publish. That is the entire point of the self-host build.   Do I need to know Cloudflare to install this? +  If you have ever deployed a Workers project, you are 90% of the way there. If you have not, the setup wizard handles the Workers + D1 + R2 provisioning end-to-end; you only have to paste your API token and pick a hostname.   Can I run this on AWS / Vercel / a generic Node server? +  Not in v1. Stacktree is built on Cloudflare Workers + R2 + D1, and we are not porting that off-platform. Porting would mean a slower, less-isolated product. If you specifically need AWS or self-managed hardware, talk to us first; if there is real demand we may build a separate Docker target.   Is this open source? +  Source-available, not OSI-approved open source. You can read it, audit it, modify it for your own use, run it anywhere your Cloudflare account reaches. You cannot resell it or run it as a competing public service. Modelled on the 37signals ONCE licence and the BSL.   What about updates? +  Lifetime updates on the current major version. We tag releases on GitHub; you `git pull` and re-run the deploy script. Major version bumps (breaking changes) are very rare and signposted months in advance.   What does the support story look like? +  Founder + Team buyers get community Discord access (other buyers, plus me). Business buyers get 90 days of email response within 2 business days. Beyond that, anyone can buy an extra support pack annually.   Will the hosted Stacktree continue? +  Yes. It is the primary product. Self-host exists for the ~5% of buyers who need data residency, compliance evidence, or zero third-party dependencies. Most teams should still pick the hosted plan.
References

## Sources and further reading

   -  [ 37signals ONCE ↗ The "buy once, run forever" model this product is shaped after. ](https://once.com)
-  [ Cloudflare Workers pricing ↗ The runtime your self-hosted instance runs on. Free tier supports low-volume use. ](https://developers.cloudflare.com/workers/platform/pricing/)
-  [ Cloudflare for SaaS: custom hostnames ↗ Built in: your self-hosted instance can serve your customers' custom domains the same way the hosted product does. ](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/)
-  [ BSL (Business Source Licence) ↗ The licence shape we use: source-available, no resale, all internal use permitted. ](https://mariadb.com/bsl11/)

5 founder seats. Pricing rises at launch.

##
Own the infrastructure your private docs live on.

Reply to me with your use case. I'll confirm whether self-host is the
          right fit before you spend a dollar.

 [
Email me · stevy@stacktr.ee →
](mailto:stevy@stacktr.ee?subject=Stacktree%20Self-Hosted%20%E2%80%94%20interested&body=Hi%20Steve%2C%0A%0AI%27d%20like%20to%20be%20first%20in%20line%20for%20Stacktree%20Self-Hosted.%0A%0AContext%20on%20our%20use%20case%3A%0A-%20Team%20size%3A%0A-%20Why%20self-host%20%28compliance%2C%20IP%2C%20cost%2C%20other%29%3A%0A-%20Rough%20volume%20%28sites%20per%20month%29%3A%0A%0AThanks%21)
Personally read. 24-hour reply. No sales sequence.

      Private hosting for the HTML your agents make.

[](https://betalist.com/startups/stacktree?utm_campaign=badge-stacktree&utm_medium=badge&utm_source=badge-featured)[Featured on](https://devhunt.org/tool/stacktree)[](https://buildlist.io)[Get started free](https://app.stacktr.ee/?join=1)

## Product

- [Page video](/page-video)
- [Ask this page](/ask-this-page)
- [Client spaces](/client-spaces)
- [Templates](/templates)
- [Example deliverables](/examples)
- [Custom domains](/custom-domains)
- [Client feedback](/client-feedback-loop)
- [One-time links](/one-time-view-links)
- [See how pages get read](/page-engagement)
- [Made with Stacktree](/made-with)
- [Security](/security)
- [Watch the demo](/demo)

## Agents

- [All integrations](/agents)
- [Claude Code](/claude-code)
- [OpenAI Codex](/codex)
- [Cursor](/cursor)
- [Claude.ai connector](/claude-ai-connector)
- [Claude Cowork](/what-is-claude-cowork)
- [Meta Muse](/muse)
- [MCP server](/mcp-publish-html)
- [Deploy from Claude Code](/deploy-html-from-claude-code)
- [Skills](/skills)
- [Slack app](/slack)
- [n8n node](/n8n)
- [Agent payments (x402)](/x402)

## Alternatives

- [All comparisons](/alternatives)
- [Head-to-head comparisons](/compare)
- [Tiiny Host](/tiiny-host-alternative)
- [GitHub Pages (private)](/github-pages-private-alternative)
- [Vercel](/vercel-alternative-for-agents)
- [ngrok](/ngrok-alternative-for-html)
- [Display.dev](/display-dev-alternative)
- [Static.app](/static-app-alternative)
- [OpenAI Codex Sites](/openai-codex-sites-alternative)
- [here.now](/here-now-alternative)
- [Shippage](/shippage-ai-alternative)
- [Best private hosting](/best-private-html-hosting)

## Use cases

- [All use cases](/use-cases)
- [Share with clients](/share-with-clients)
- [Send a file to a client](/share-html-file-with-client)
- [Share Claude artifacts](/share-claude-artifacts)
- [Share Jupyter notebooks](/share-jupyter-notebook-html)
- [Host Storybook privately](/host-storybook-privately)
- [Architecture diagrams](/share-architecture-diagrams)
- [AI-generated reports](/host-ai-reports)
- [Internal HTML tools](/internal-tool-hosting)
- [Private HTML hosting](/private-html-hosting)
- [Vibe-coded page hosting](/vibe-coding-hosting)
- [Leave a website builder](/website-builder-migration)

## Learn

- [Blog](/blog)
- [Glossary](/glossary)
- [FAQ](/faq)
- [Where AI output should live](/where-ai-output-lives)
- [Agent-loop hosting](/agent-loop-hosting)
- [Why agents need a publish primitive](/blog/why-agents-need-a-publish-primitive)
- [MCP servers explained](/blog/mcp-servers-explained-for-developers)
- [What changed in the 2026-07 MCP spec](/blog/mcp-2026-spec-changes)
- [Sites in Codex explained](/blog/sites-in-codex-explained)
- [Private-by-default hosting](/blog/private-by-default-html-hosting)
- [An agent paid us $1 (x402)](/blog/agent-paid-to-provision-itself)
- [When a loop hits a paywall](/blog/loop-engineering-paywall)
- [Pricing](/pricing)
- [Self-host (new)](/self-host)
- [Changelog](/changelog)
- [Docs](https://stacktr.ee/docs)
- [About](/about)
© 2026 Stacktree · stacktr.ee

[Privacy](/privacy)[Terms](/terms)[Security](/security)[Dashboard](https://app.stacktr.ee)[npm](https://www.npmjs.com/package/stacktree-mcp)[Sitemap](/sitemap.xml)[llms.txt](/llms.txt)[API spec](/openapi.json)

---
Full markdown summary of the Stacktree marketing surface: https://stacktr.ee/llms-full.txt
