Deploy Rectify
Deploy a website you can edit by drawing on it.
rectify
Just deployed
/site
Deploy and Host Rectify on Railway
Rectify is a self-hosted, LLM-powered website editor for static sites. Log in, draw a box over any element on your live page, and describe the change in plain English — Rectify's agent finds the real source file, edits the HTML, CSS, or JS directly, and the page updates. No SaaS, no lock-in.
About Hosting Rectify
Rectify runs as a single Docker container. It serves your website as a static site and layers an owner-only editing overlay on top — visitors only ever see the published page, never the editing UI. On first boot it seeds a bundled starter site into a persistent volume mounted at /site; bring your own content by populating that volume. All configuration is done through environment variables: set your owner password, a session signing key, and an LLM provider key. Rectify routes every edit through LiteLLM, so it works with any reachable model — Anthropic, OpenAI, or a self-hosted Ollama instance — letting you control both where your site runs and which model powers your edits.
Common Use Cases
- Personal website or portfolio — Make quick copy or layout tweaks directly in the browser without opening a code editor or redeploying. Draw a box around an element, describe what you want, and the source file is updated for you.
- Indie landing page or product site — Keep a live marketing page current by updating pricing, headlines, or calls to action in plain language, with every edit tracked and reversible via the built-in Undo.
- Documentation, blog, or content site — Edit static HTML pages in place by describing the change you want, with every edit tracked and reversible via the built-in Undo.
Dependencies for Rectify Hosting
- Persistent volume mounted at
/site— Rectify reads and writes your site files fromSITE_DIR(default/site). Without a persistent volume, every edit is lost when the container restarts. Attach a Railway volume at/siteto keep your content across deploys. - LLM provider API key — Rectify routes all edit requests through LiteLLM, so it works with Anthropic, OpenAI, or any compatible provider. Set
LLM_MODEL_ID(e.g.anthropic/claude-sonnet-4-6) andLLM_API_KEY. For a custom or self-hosted provider such as Ollama, optionally setLLM_API_BASEto its endpoint.
Deployment Dependencies
- Rectify on GitHub — source code, issue tracker, and full configuration reference
- LiteLLM — the LLM routing layer Rectify uses; supports Anthropic, OpenAI, Ollama, and more
- smolagents — the agentic framework powering Rectify's code-editing agent
- Railway Volumes — how to attach the persistent volume Rectify needs at
/site
Implementation Details
The minimum environment variables to boot:
OWNER_PASSWORD= # required — the server won't start without it
LLM_MODEL_ID=anthropic/claude-sonnet-4-6 # any LiteLLM model id
LLM_API_KEY=sk-... # your provider's API key
Two optional variables are worth setting:
SECRET_KEY= # keeps owner sessions alive across restarts
LLM_API_BASE=http://... # endpoint for a custom/self-hosted provider (e.g. Ollama)
Without SECRET_KEY, a random key is generated on each boot and you'll be logged out on every redeploy. The container listens on port 8080.
Rectify exposes a health check at GET /_platform/health, which returns {"ok": true, "site": ""}. Railway uses this automatically — no extra configuration needed.
On first boot, Rectify seeds the volume with a bundled starter site. To use your own content, write your files into SITE_DIR after the first boot via a Railway shell session.
Why Deploy Rectify 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 Rectify on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
rectify
ghcr.io/wenig/rectify:latestLLM_API_KEY
API key to your LLM provider.
LLM_MODEL_ID
Model ID for the LLM that adapt your website, e.g. anthropic/claude-sonnet-4-6
OWNER_PASSWORD
Password to login to edit mode.
