Self-hosted, one-command HTML deployment. Publishing, versioned rollback, an in-browser editor, a database for static pages, security scanning and an light/dark admin workspace. v0.9.7 supports SQLite, PostgreSQL, MySQL 8.4+ and Supabase through one stable page API.
$ pip install html-golive $ golive publish q3-report.html --slug q3-report π scanning for secretsβ¦ clean π¨ style: minimal Β· assets bundled (4 β 1 file) π¦ published slug q3-report url http://localhost:8787/q3-report size 86 KB Β· snapshot #1 saved
You have an HTML file β a report, a dashboard, an internal tool β and you need it on a URL your colleagues can open. The usual answers are a cloud platform that can't touch your data, or a bare nginx that gives you nothing but a file server. html-golive is the middle ground: run it yourself, keep everything inside your network, and still get the conveniences you expect.
Runs entirely on your own machine or server. No account, no telemetry, no outbound calls by default β works airgapped.
Start with local files and SQLite out of the box. No database service or object store to provision.
Choose SQLite, PostgreSQL, MySQL or Supabase in configuration. Store HTML separately on local files, Supabase Storage or S3-compatible storage.
Everything below ships in the box β one install, no plugins to hunt down.
Every publish snapshots the previous version. golive rollback returns to any of them instantly.
Owners and maintainers get an inline editor on the live page β fix a typo without touching the source file. Saves are scanned and snapshotted.
A stable window.TemplateAPI provides CRUD. SQLite / PG / MySQL use a server proxy; Supabase uses public keys governed by RLS.
Rule-based detection of API keys, tokens and personal data before anything goes live β with optional LLM second-pass review.
Turn an unstyled document into something presentable with --style. Fonts come from public CDNs or your own mirror.
A light/dark, bilingual workspace at /admin: editable global settings, sites, permissions, data and precise database diagnostics.
Static token for quick setups, or OIDC with one-line presets for Google, Auth0, Okta, Azure AD, Keycloak and Authentik.
golive clone <url> snapshots a public page, inlines its assets and republishes it as your own.
A Dockerfile and a compose file with an optional MinIO profile β from zero to a running server in one command.
Light/dark themes, English and Chinese, editable global settings and diagnostics for all four databases.
Three steps, about a minute. No configuration file needed to begin.
Python 3.9+. Use html-golive[mysql] for MySQL or html-golive[postgres] for PostgreSQL.
Point it at any HTML file. It scans for secrets, applies a style, bundles assets and registers the site.
Use an explicit 127.0.0.1 listener for local checks. Saved configuration can change defaults; configure access control before sharing.
Three pluggable interfaces. Start on the left column, move to the right when you outgrow it β your commands and your pages don't change.
Pin v0.9.7, initialize a dedicated test database, then confirm real persistence through the browser and SQL.
Publishing, serving, data, migration and diagnostics for the full workflow.
| Command | What it does |
|---|---|
publish | Scan, style, bundle and deploy an HTML file |
list | Show every registered site with size and owner |
rollback | Restore a previous snapshot |
serve | Run the HTTP server and the admin portal |
preview | Serve a local file without registering it |
clone | Snapshot a public page and republish it |
maintainer | Grant or revoke edit rights on a site |
admin | Open the admin console |
styles | List the 19 built-in visual styles |
data / db | Inspect and manage the data backend |
migrate-check | Find environment-specific references in an HTML file |
verify | Real HTTP, page injection and database self-checks |
export / import / migrate | Backup, restore and change backends |
skill | Install and check the bundled AgentSkill |
doctor | Diagnose configuration and connectivity |
MIT licensed. Real tests for all four backends; Linux / macOS CI on Python 3.9 / 3.11 / 3.12. Issues and pull requests welcome.