Deploy Instatic — Self-Hosted AI Website Builder
Self-host a visual CMS with AI page builder & built-in forms. Clean HTML.
Instatic
Just deployed
/app/storage
Deploy and Host Instatic on Railway
Instatic is a modern, self-hosted visual CMS that replaces an entire stack — headless CMS, framework, form service, image CDN, and host — with one Bun server. Build pages on a drag-and-drop canvas, let a built-in AI agent edit the page as real editable nodes, collect form submissions into your own database tables, and publish plain semantic HTML + compact CSS with zero framework runtime. The output is so clean it loads like a static file — because, most of the time, it is one.
MIT licensed, self-hosted, and backed by SQLite or PostgreSQL. Railway is the fastest way to get Instatic live — one click, about two minutes, and you own the whole stack for ~$5/month instead of stitching together Webflow ($23+/mo), a form service, and a CDN.
What This Template Deploys
| Service | Purpose |
|---|---|
| Instatic | The complete CMS — canvas editor, content engine, media library, auth, forms, sandboxed plugins, AI agent, and the static publisher, all in one Bun server on the public web service |
| Persistent Volume | Stores your pages, media, form submissions, and published static output — survives every redeploy |
Single-server architecture. Runs on SQLite out of the box (no external database needed), or connect a Railway PostgreSQL instance for larger sites. Published pages bake straight to disk as static HTML — no framework to boot, no hydration, no per-request database round-trip.
About Hosting Instatic
A modern website usually means assembling a stack — headless CMS, framework, host, form service, analytics, image CDN — each with its own bill. Instatic is the opposite bet: one server holds the editor, content, media, auth, forms, plugins, and publisher, and ships plain semantic HTML with none of the editor's machinery left behind. No framework runtime, no builder attributes.
Railway is the recommended way to run it. This template deploys the Bun server with a persistent volume and automatic HTTPS — pick the template, hit deploy, wait about two minutes, and your visual CMS is live. No build pipeline, no separate form backend, no CDN to configure.
Typical cost: ~$5/month on Railway's Hobby plan. Webflow starts at $23/month per site and locks your content in their platform. Squarespace is $16+/month. Instatic on Railway gives you a visual editor, forms, media, and an AI page builder at flat compute cost with full data ownership.
Deploy in Under 3 Minutes
- Click Deploy on Railway — the Instatic Bun server builds automatically (~2 minutes)
- Add a Railway volume for persistent storage of pages, media, and submissions
- Open your Railway-assigned URL — the Instatic admin and canvas editor load
- Create your admin account, build a page on the canvas, and hit publish
- (Optional) Add your LLM API key to enable the AI agent — Claude, OpenAI, OpenRouter, or Ollama
No build step. No framework setup. No third-party form or CDN service.
Common Use Cases
- Self-hosted alternative to Webflow — a visual drag-and-drop site builder without the $23+/month per-site fee or platform lock-in; your content and output are yours
- Visual CMS that outputs clean static HTML — build on a canvas but ship semantic HTML and compact CSS with no framework runtime, so pages load like static files
- AI website builder you control — describe what you want and the built-in agent builds it on the canvas as real editable nodes; bring your own model (Claude, OpenAI, OpenRouter, Ollama)
- Contact and lead forms without a form service — build forms from semantic fields and submissions land in your own database tables; no Typeform, no embed, no monthly form fee
- Marketing and landing pages for SaaS — fast-loading static pages with forms and media, editable by non-developers, hosted on infrastructure you own
- Portfolio, blog, or docs site — import raw HTML or a whole static site with Super Import, then edit visually and publish clean pages that load instantly
Configuration
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Optional | PostgreSQL connection string — omit to use built-in SQLite, set for larger sites |
ADMIN_EMAIL | Recommended | Initial admin account email — set at deploy time |
ADMIN_PASSWORD | Recommended | Initial admin password — set a strong value before exposing your URL |
LLM_API_KEY | Optional | API key for the AI agent — Claude, OpenAI, or OpenRouter |
LLM_PROVIDER | Optional | Which provider the AI agent uses — anthropic, openai, openrouter, or ollama |
PORT | Auto-set | Railway injects the port automatically |
Instatic runs on SQLite by default — no database service required. The AI agent is entirely optional and uses your LLM key and model, so you control the cost. Add a persistent volume so your pages, media, and form submissions survive redeploys.
Instatic vs. Website Builders
| Instatic (Railway) | Webflow | Squarespace | Headless CMS + SSG | |
|---|---|---|---|---|
| Monthly cost | ~$5 flat | $23+/site | $16+/month | CMS + host + form + CDN bills |
| Self-hostable | ✅ Yes | ❌ No | ❌ No | ⚠️ Partial |
| Clean static HTML output | ✅ No framework runtime | ❌ Builder markup | ❌ Platform markup | ✅ Yes |
| Built-in forms to your DB | ✅ Yes | ⚠️ Paid tiers | ⚠️ Limited | ❌ Separate service |
| AI page builder | ✅ BYO model | ⚠️ Limited | ❌ No | ❌ No |
| Media + CDN built in | ✅ Yes | ✅ Yes | ✅ Yes | ❌ Separate service |
| Data ownership | ✅ Your instance | ❌ Webflow servers | ❌ Squarespace | ✅ Yes |
| Open source | ✅ MIT | ❌ No | ❌ No | ⚠️ Varies |
Dependencies for Instatic Hosting
- Railway account — Hobby plan (~$5/month) for the single-server deployment
- No external database required — SQLite is built in (add Railway PostgreSQL for larger sites)
- Optional: an LLM API key (Claude, OpenAI, OpenRouter) or local Ollama for the AI agent
Deployment Dependencies
- Instatic GitHub Repository — source and releases
- Instatic Plugin System Docs — extend Instatic safely
- Bun — the runtime Instatic is built on
- Railway Volumes Documentation — persistent storage setup
Implementation Details
Instatic runs as a single Bun server that holds the canvas editor, content engine, media, auth,
forms, plugins, the AI agent, and the static publisher. It uses SQLite by default — no external
database — or a PostgreSQL instance via DATABASE_URL for larger sites. A Railway persistent
volume stores pages, media, form submissions, and the published static output.
When you publish, pages bake straight to disk as semantic HTML and compact CSS, swapped in atomically — no framework boot, no hydration, no per-request database round-trip on the common path. Plugins run in a sandbox with no network access unless you grant it, so a plugin can't read your secrets or phone home. The AI agent uses your own LLM key and writes real, editable canvas nodes rather than opaque code.
Early-stage note: Instatic is at version 0.0.x and under active development. The canvas, AI agent, forms, plugins, and publisher are all working today, but expect frequent updates and breaking changes between versions. Pin to a specific image tag for production stability.
Frequently Asked Questions
What makes Instatic different from Webflow or a headless CMS? Webflow is a hosted platform that locks in your content and ships builder-specific markup. A headless CMS needs a separate framework, host, form service, and CDN. Instatic is one self-hosted server that does all of it and outputs plain semantic HTML with no framework runtime — so pages load like static files and you own the whole stack.
Do I need a database to run Instatic?
No. Instatic runs on built-in SQLite by default — nothing external to provision. For larger
sites or higher traffic, set DATABASE_URL to a Railway PostgreSQL instance. Either way, add a
persistent volume so your data survives redeploys.
How does the AI agent work and what does it cost? The agent edits your page on the canvas as real, editable nodes — not a screenshot or a code dump. It uses your own LLM key and model (Claude, OpenAI, OpenRouter, or local Ollama), so you control the bill. It's entirely optional; Instatic works fully without it.
Are the forms really built in? Yes. Build a form from semantic fields and Instatic creates the matching database table and lands submissions there. No Typeform, no embed, no third-party form service, no monthly contact-form fee.
Do I lose my pages and submissions if Railway redeploys? No — as long as you've mounted a persistent volume. Pages, media, form submissions, and published static output are stored on the volume and survive redeploys. Without a volume, the container is ephemeral and resets each deploy.
Is Instatic production-ready? Instatic is at version 0.0.x — the core works today but it's early and evolving fast with breaking changes between versions. Great for personal sites, landing pages, and early projects; pin a version and test before relying on it for critical production sites.
Why Deploy and Host Instatic on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Instatic on Railway, you get a complete self-hosted visual CMS — canvas editor, AI page builder, built-in forms, media, and a clean static publisher — in one server at ~$5/month flat, with clean semantic HTML output and full ownership of your content and data.
Template Content
Instatic
corebunch/instatic:latest