A Blog You Actually Own
Hosted blogging platforms are convenient right up until the pricing changes, the export is incomplete, or the service shuts down. Inkwell takes the opposite position: the platform is free and MIT licensed, the code is on GitHub, and every post lives in a SQL Server database you control.
It is built on ASP.NET Core MVC and Entity Framework Core on .NET 10, renders plain server-side HTML for speed and search visibility, and ships with a full WYSIWYG editor — draft, schedule, autosave and publish — rather than a Markdown-only workflow. One installed binary can host many separate blogs, each with its own domain, look and authors.
There is no plugin marketplace, no usage tier and no phone-home. If you are a .NET shop that wants publishing under your own roof, this is the stack you already know.
Free and Open Source
MIT licence. Fork it, extend it, run it commercially — no per-seat or per-site fees, ever.
No Telemetry, GDPR by Design
No external API calls and no usage reporting. Reader data never leaves your infrastructure.
Built on .NET 10
ASP.NET Core MVC, EF Core and Microsoft SQL Server — a stack your existing .NET team can maintain.
Everything a Publication Needs, Nothing It Doesn't
The editorial, design, SEO and operations tooling that shipped across releases v1.0.1 to v1.0.5.
Full WYSIWYG Editor
Compose visually, save drafts, schedule for later, autosave as you go and publish when ready. No Markdown gymnastics required.
20 Layouts × 16 Presets
Structure and colour are separate: pick an editorial Layout, pair it with a colour Preset — 320 combinations without touching a stylesheet.
Multi-Tenant by Default
One binary serves many blogs. Each tenant gets its own domain, Layout, Preset, authors and database schema from a single appsettings entry.
SEO Built In
Server-rendered HTML, structured-data validation before publish, IndexNow instant indexing, internal-link suggestions and a 301/302/410 redirect manager.
Analytics and AI-Crawler Reports
Built-in dashboard with UTM and geo breakdowns, plus reporting on which AI crawlers fetch your content and an answer-engine readiness score.
Immutable Audit Trail
Every admin action is logged and cannot be edited afterwards — useful for multi-author teams and for compliance reviews.
Newsletter and Subscribers
Compose newsletters and manage your subscriber list inside the same admin, without handing your audience to a third-party mailer.
IP Firewall
Automatic threat scoring blocks hostile traffic at the application layer, and the Content Health dashboard flags posts that need maintenance.
WordPress and Ghost Importers
Bring an existing site across: WordPress WXR exports and Ghost JSON or ZIP archives import with posts, pages and authors intact.
Layouts Set the Structure. Presets Set the Mood.
Most blog themes bundle page structure and colour into one package, so changing the palette means changing the theme. Inkwell splits them. A Layout decides how the front page, post and archive templates are composed; a Preset decides the palette, type scale and spacing — from warm paper whites to near-black dark modes.
Any of the 20 Layouts pairs with any of the 16 Presets, and each tenant on the same install can run a different combination. Switching is a configuration change — no rebuild, no migration.
Three Steps to a Running Blog
A normal ASP.NET Core deployment — if you have shipped a .NET app before, nothing here will surprise you.
Clone and Restore
Clone the GitHub repository and restore NuGet packages. A quick-start with SQL Server LocalDB gets a local instance running in three commands.
Configure Tenants
Point appsettings.json at your SQL Server and declare each blog in the Tenants array — domain, Layout, Preset and authors. Run the EF Core migrations.
Publish and Deploy
Publish the binary and put it behind nginx, Caddy, Apache or IIS with TLS. Runs on Linux, Windows Server or macOS. A Dockerfile and a docker-compose bundle (SQL Server + Caddy) ship in the repo.
What a Single-Tenant Install Needs
Modest by design — a small VPS runs one publication comfortably. Add RAM as you add tenants.
ASP.NET Core MVC and Entity Framework Core — the standard Microsoft stack.
Microsoft SQL Server in production; SQL Server LocalDB is fine for development.
The floor for a single tenant. Scale up as you add publications and traffic.
Behind a reverse proxy — nginx, Caddy, Apache or IIS — terminating TLS.
Who Inkwell Is For — and Who It Isn't
We would rather you pick the right tool than pick ours.
A good fit when
- Your team already runs .NET and SQL Server and wants publishing on the same stack.
- You need several publications — brands, regions, clients — from one install with separate domains and looks.
- Data residency, GDPR or a no-third-party-scripts policy rules out hosted platforms.
- You are migrating off WordPress or Ghost and want the importer to do the heavy lifting.
Look elsewhere when
- You want a fully hosted service with zero server responsibility — Inkwell is self-hosted only.
- You need PostgreSQL, MySQL or SQLite — Microsoft SQL Server is the only supported database.
- Your workflow depends on a plugin marketplace — Inkwell has none; features are built into the core or added as code.
- You need a static-site generator or a Git-based Markdown workflow — Inkwell is a database-backed app with a visual editor.
How Inkwell Compares
Publicly documented defaults, September 2026. Every one of these is a capable choice.
| Platform | Stack | Hosting model | Editor | Multi-site from one install |
|---|---|---|---|---|
|
In
Inkwell
This product |
.NET 10 ASP.NET Core SQL Server
|
Self-hosted, free (MIT) | Full WYSIWYG editor | Yes — Per-tenant domain, Layout and Preset |
|
W
WordPress
|
PHP MySQL / MariaDB
|
Self-hosted (GPL) or WordPress.com | Block editor (Gutenberg) | Yes — Via Multisite |
|
G
Ghost
|
Node.js MySQL
|
Self-hosted (MIT) or Ghost(Pro) | Koenig block editor | No — One site per install |
|
H
Hugo
|
Go Static files
|
Static hosting (Apache-2.0) | Markdown files | No — Separate builds per site |
Comparison reflects each platform's publicly documented defaults as of September 2026. The right one depends on your stack and hosting appetite.
The Software Is Free. The Help Is Optional.
Run Inkwell yourself at no cost, or have the team that builds it do the deployment, the upkeep or the design. Prices as published on useinkwell.app.
Installation
- Production deployment on your infrastructure
- Database provisioning and backups configured
- TLS, reverse-proxy and DNS handover
- One tenant, one Layout, one Preset
- 30-day post-launch warranty
Support Retainer
- Priority issue triage on your repo
- Security patches within 48 hours
- Quarterly version upgrades, in place
- Up to 4 hours of minor work each month
- Private email and scheduled office hours
Enhancement
- Discovery call and written scope
- Fixed-bid quote per feature
- Pull request against your fork
- Tests, documentation and migration scripts
- Two rounds of revisions included
Studio Theme
- Brand and typography consultation
- Custom Layout (templates and partials)
- Custom Preset (palette, type, spacing)
- Responsive across every breakpoint
- Source files, yours to keep
USD prices; EUR and GBP equivalents are listed on useinkwell.app. Every engagement starts with a written scope, and quotes come back within two working days.
Release History
Tagged releases since June 2026, each with full notes on GitHub.
-
v1.0.55 Sep 2026
Pre-publish structured-data validation stops broken schema from shipping; answer-engine readiness scoring; AI-crawler analytics; redirect manager and internal-link suggestions.
-
v1.0.415 Aug 2026
IP Firewall with automatic blocking; Content Health dashboard; WordPress (WXR) and Ghost importers.
-
v1.0.229 Jul 2026
SEO overhaul: scored-roundup content system, IndexNow instant indexing, new Layouts, error-monitoring subsystem.
-
v1.0.127 Jun 2026
Analytics dashboard, immutable audit trail, Layout and Preset theme system, newsletter and subscriber management, structured-data enhancements.
Full notes: github.com/marutisoftwaresolutions/inkwell/releases
Publish on Your Own Terms
Clone Inkwell and run it yourself, or tell us about your publication and we will scope the install, the migration and the theme.