history_edu Open-Source Product · MIT Licensed

Inkwell Blogging Platform

Self-hosted blogging, beautifully crafted. A free, open-source .NET 10 publishing platform that runs on your own server — your content, your database, no telemetry. PixoBots installs it, supports it and builds custom themes for it.

code View on GitHub

Product site: useinkwell.app · Latest release v1.0.5 (5 September 2026)

info What It Is

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.

lock_open

Free and Open Source

MIT licence. Fork it, extend it, run it commercially — no per-seat or per-site fees, ever.

shield

No Telemetry, GDPR by Design

No external API calls and no usage reporting. Reader data never leaves your infrastructure.

dns

Built on .NET 10

ASP.NET Core MVC, EF Core and Microsoft SQL Server — a stack your existing .NET team can maintain.

grid_view Features

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.

edit_note
edit_note

Full WYSIWYG Editor

Compose visually, save drafts, schedule for later, autosave as you go and publish when ready. No Markdown gymnastics required.

palette
palette

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.

hub
hub

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.

travel_explore
travel_explore

SEO Built In

Server-rendered HTML, structured-data validation before publish, IndexNow instant indexing, internal-link suggestions and a 301/302/410 redirect manager.

insights
insights

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.

fact_check
fact_check

Immutable Audit Trail

Every admin action is logged and cannot be edited afterwards — useful for multi-author teams and for compliance reviews.

mark_email_read
mark_email_read

Newsletter and Subscribers

Compose newsletters and manage your subscriber list inside the same admin, without handing your audience to a third-party mailer.

security
security

IP Firewall

Automatic threat scoring blocks hostile traffic at the application layer, and the Content Health dashboard flags posts that need maintenance.

move_to_inbox
move_to_inbox

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.

style Design System

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.

Magazine Grid Minimal Neutral Classic Modern Feed Catalog Verdict 20 Layouts in total
20
Editorial Layouts
16
Colour Presets
320
Out-of-the-Box Combinations
1
Binary for Unlimited Tenants
terminal Deployment

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.

01

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.

02

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.

03

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.

checklist System Requirements

What a Single-Tenant Install Needs

Modest by design — a small VPS runs one publication comfortably. Add RAM as you add tenants.

memory
memory
Runtime
.NET 10 or later

ASP.NET Core MVC and Entity Framework Core — the standard Microsoft stack.

storage
storage
Database
SQL Server 2019+

Microsoft SQL Server in production; SQL Server LocalDB is fine for development.

developer_board
developer_board
Hardware
512 MB RAM · 1 vCPU

The floor for a single tenant. Scale up as you add publications and traffic.

dns
dns
Operating System
Linux · Windows Server · macOS

Behind a reverse proxy — nginx, Caddy, Apache or IIS — terminating TLS.

balance Honest Fit

Who Inkwell Is For — and Who It Isn't

We would rather you pick the right tool than pick ours.

thumb_up A good fit when

  • check_circle Your team already runs .NET and SQL Server and wants publishing on the same stack.
  • check_circle You need several publications — brands, regions, clients — from one install with separate domains and looks.
  • check_circle Data residency, GDPR or a no-third-party-scripts policy rules out hosted platforms.
  • check_circle You are migrating off WordPress or Ghost and want the importer to do the heavy lifting.

thumb_down Look elsewhere when

  • cancel You want a fully hosted service with zero server responsibility — Inkwell is self-hosted only.
  • cancel You need PostgreSQL, MySQL or SQLite — Microsoft SQL Server is the only supported database.
  • cancel Your workflow depends on a plugin marketplace — Inkwell has none; features are built into the core or added as code.
  • cancel You need a static-site generator or a Git-based Markdown workflow — Inkwell is a database-backed app with a visual editor.
compare_arrows

compare_arrows How Inkwell Compares

Publicly documented defaults, September 2026. Every one of these is a capable choice.

Highlighted row = this product
Platform Stack Hosting model Editor Multi-site from one install
In
Inkwell
This product
.NET 10 ASP.NET Core SQL Server
dns Self-hosted, free (MIT) edit_note Full WYSIWYG editor check_circle Yes — Per-tenant domain, Layout and Preset
W
WordPress
PHP MySQL / MariaDB
cloud_sync Self-hosted (GPL) or WordPress.com view_quilt Block editor (Gutenberg) check_circle Yes — Via Multisite
G
Ghost
Node.js MySQL
cloud_sync Self-hosted (MIT) or Ghost(Pro) view_agenda Koenig block editor cancel No — One site per install
H
Hugo
Go Static files
folder_zip Static hosting (Apache-2.0) description Markdown files cancel 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.

handshake Optional Services

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.

rocket_launch

Installation

from $499 one-time
  • check Production deployment on your infrastructure
  • check Database provisioning and backups configured
  • check TLS, reverse-proxy and DNS handover
  • check One tenant, one Layout, one Preset
  • check 30-day post-launch warranty
support_agent

Support Retainer

from $299 per month
  • check Priority issue triage on your repo
  • check Security patches within 48 hours
  • check Quarterly version upgrades, in place
  • check Up to 4 hours of minor work each month
  • check Private email and scheduled office hours
construction

Enhancement

from $99 per hour
  • check Discovery call and written scope
  • check Fixed-bid quote per feature
  • check Pull request against your fork
  • check Tests, documentation and migration scripts
  • check Two rounds of revisions included
brush

Studio Theme

from $2,400 one-time
  • check Brand and typography consultation
  • check Custom Layout (templates and partials)
  • check Custom Preset (palette, type, spacing)
  • check Responsive across every breakpoint
  • check 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.

new_releases Actively Maintained

Release History

Tagged releases since June 2026, each with full notes on GitHub.

  1. 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.

  2. v1.0.415 Aug 2026

    IP Firewall with automatic blocking; Content Health dashboard; WordPress (WXR) and Ghost importers.

  3. v1.0.229 Jul 2026

    SEO overhaul: scored-roundup content system, IndexNow instant indexing, new Layouts, error-monitoring subsystem.

  4. 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.

Visit useinkwell.app All Products
help_outline FAQ

Frequently asked questions

What is Inkwell? expand_more
Inkwell is a free, open-source, self-hosted blogging platform built on ASP.NET Core MVC and Entity Framework Core on .NET 10. It ships with a full WYSIWYG editor, 20 editorial Layouts, 16 colour Presets, multi-tenant hosting, built-in SEO tooling, analytics, an audit trail and newsletter management. It is MIT licensed and published at useinkwell.app with source on GitHub.
Is Inkwell really free? expand_more
Yes. The software is MIT licensed with no per-site, per-seat or usage fees. Installation, support retainers, custom enhancements and bespoke Studio themes are optional paid services; you can run Inkwell entirely on your own without buying any of them.
Which database does Inkwell support? expand_more
Microsoft SQL Server 2019 or later in production, or SQL Server LocalDB for local development. PostgreSQL, MySQL and SQLite are not supported, so if your infrastructure cannot run SQL Server, Inkwell is not the right fit.
Can one Inkwell install host several blogs? expand_more
Yes. Inkwell is multi-tenant by default. Each tenant declared in appsettings.json gets its own domain, Layout, Preset, authors and database schema, so one deployed binary can serve many separate publications.
Can I migrate from WordPress or Ghost? expand_more
Yes. Since release v1.0.4 Inkwell imports WordPress WXR exports and Ghost JSON or ZIP archives, bringing posts, pages and authors across. PixoBots can run the migration as part of an installation engagement.
Who builds Inkwell, and what does PixoBots do? expand_more
Inkwell is developed by Maruti Software Solutions and published at useinkwell.app. PixoBots provides the installation, support retainer, custom enhancement and Studio theme services around it, and can integrate Inkwell with your existing .NET systems.