Skip to content
An open-source blogging platform · built on .NET

Self-hosted blogging, beautifully crafted.

Inkwell is a quiet, opinionated publishing platform for writers who care about typography, ownership, and the long-form web. Free, forever. Run it on your own infrastructure.

MIT licensed Multi-tenant by default No telemetry, ever

The Editorial Desk

useinkwell.app/desk/posts/the-quiet-web
Draft · autosaved 12:48 PM
Publish

On the quiet web, and why we still write here

By Eliot Mercer · Essay · 8 min read

There is a kind of reading that has gotten quieter in the last decade. It is not the reading of feeds or of summaries; it is the reading we used to do in long rooms, with long sentences, by writers who knew their own minds.

Most of the web is built to interrupt that reading. The blog, in its original form, was not. It was a paginated, dated, indexed object — a thing you could subscribe to and, more importantly, a thing you could leave alone.


Inkwell is an attempt to bring that object back into reach — without dragging it through a marketplace of plugins, a maze of dashboards, or someone else’s hosting bill

What’s in the box

Six decisions, made well.

Inkwell ships the things you actually need to publish — and almost nothing else. No plugin marketplace, no telemetry, no surprise updates.

01

Multi-tenant by default

Host a hundred blogs from a single binary. Each tenant gets its own domain, theme, authors, and database schema — without a second deploy.

02

Self-hosted, always

You own the database, the markdown, the images, and the URLs. No cloud account, no API key, no vendor between you and your readers.

03

Layouts & Presets

Four editorial Layouts paired with three color Presets — twelve looks out of the box, every one of them tasteful. Swap them without a rebuild.

04

A Markdown desk that respects your hands

Keyboard-first composer with live preview, footnotes, and pull quotes. Drafts autosave. Links resolve. It gets out of the way.

05

Built on .NET 8

ASP.NET Core, Razor Pages, EF Core. Server-rendered HTML, fast cold starts, a single deployable. Familiar to every .NET team you know.

06

Open source, MIT

Fork it, audit it, ship your own variant. We build in public on GitHub, and we read every pull request from writers and developers alike.

Layouts & Presets

One platform. Infinite voices.

Inkwell separates structure from surface. A Layout decides how a blog reads. A Preset decides how it feels. Mix them.

Vol. XIV · No. 03
The Magazine

An editor’s letter, a leader column, and three departments — laid out with the rhythm of a printed monthly. Generous margins, drop caps, and footnotes that resolve where you expect them.

FeatureEssay
The MagazineCream
Wednesday · 11.04
The Journal
A reverse-chronological river. One column, one voice, dated entries. Built for the writer who returns daily and the reader who follows along.
DailySolo
The JournalInk
Notebook · 042
The Notebook
Short notes, fragments, marginalia. A place to think out loud — indexed, tagged, but never tidied beyond use.
FragmentsIndex
The NotebookLinen
Studio · Selected works
The Studio
A portfolio-shaped blog. Visual posts first, with case studies in long form behind them.
VisualLong-form
The StudioPaper
Open source

Free, forever. Built in the open.

Inkwell is MIT-licensed and developed in public on GitHub. No paid tiers. No hosted upsell. The repository is the product.

$ git clone github.com/marutisoftwaresolutions/inkwell Copy
2,418
Stars on GitHub
47
Contributors
MIT
License
How it works

From clone to published, in three commands.

Inkwell is a single .NET project. If you can deploy an ASP.NET Core app, you can run your own publication.

  1. i.

    Clone

    Pull the repository and restore packages. One project, one solution, no build matrix.

    $ git clone github.com/marutisoftwaresolutions/inkwell
    $ cd inkwell && dotnet restore
  2. ii.

    Configure

    Point appsettings.json at your database. Add your tenants. Pick a Layout and a Preset for each.

    "Inkwell": {
      "Tenants": [
        { "Host": "essays.example.com" }
      ]
    }
  3. iii.

    Publish

    Build a single binary, drop it behind your reverse proxy of choice, and write.

    $ dotnet publish -c Release
    $ ./Inkwell
Optional · paid services

When you’d rather not do it alone.

The platform stays free. The help, when you want it, is offered by Maruti Software Solutions — the team that builds Inkwell. Pick a service, send a brief, and we’ll come back with a fixed quote in two working days.

i. Installation

A turnkey install

We deploy Inkwell on your server, point your domain, set up TLS, and hand you the keys.

From $499 one-time
  • Production deployment on your infrastructure
  • Database provisioning & backups configured
  • TLS, reverse-proxy, and DNS handover
  • One tenant, one Layout, one Preset
  • 30-day post-launch warranty
iii. Enhancement

A custom feature

Built-to-spec features merged into your fork — or upstreamed, with credit, if it belongs there.

From $145 / hour
  • Discovery call & written scope
  • Fixed-bid project quote per feature
  • Pull request against your fork
  • Tests, documentation, and migration scripts
  • Two rounds of revisions included
iv. Studio

A bespoke theme

A custom Layout and Preset, designed for your masthead — typography, palette, the whole room.

From $2,400 one-time
  • Brand & typography consultation
  • Custom Layout (templates & partials)
  • Custom Preset (palette, type, spacing)
  • Responsive across every breakpoint
  • Source files, yours to keep
Something bigger — migration from WordPress, multi-publication rollout, training? Start a custom engagement →
Invoiced in USD · NET-15 terms · Hosted from India & the UK
Frequently asked

Questions, answered plainly.

What is Inkwell?
Inkwell is a free, open-source, self-hosted blogging platform built on .NET 8. It is multi-tenant by default, fully themeable through Layouts and Presets, and designed for writers who care about typography, content ownership, and a calm editorial experience. You install it on your own server, point a domain at it, and publish — no cloud account or subscription required.
Is Inkwell free?
Yes. Inkwell is completely free and open source under the MIT license. There are no paid tiers, no usage limits, no telemetry, and no vendor lock-in. The source code on GitHub is the entire product. Optional paid services — installation, support, custom development, and bespoke themes — are available from Maruti Software Solutions for teams that want hands-on help.
What is Inkwell built with?
Inkwell is built on ASP.NET Core with Razor Pages and Entity Framework Core, targeting .NET 8 and above. It produces clean, server-rendered HTML for performance, SEO, and accessibility. It supports PostgreSQL, SQLite, and SQL Server, and ships a Dockerfile for containerised deployments.
How do I self-host Inkwell?
Clone the repository from GitHub, configure appsettings.json with a database connection string and your tenant list, then run dotnet publish. Inkwell ships a Dockerfile and runs on Linux, Windows, or macOS. Any reverse proxy — nginx, Caddy, or IIS — will work. The full install guide is at useinkwell.app/docs/install.
How does Inkwell compare to WordPress or Ghost?
Inkwell is smaller, faster, and more opinionated than either. Unlike WordPress, it ships no plugin marketplace and requires no PHP runtime. Unlike Ghost, it runs on the .NET stack and is multi-tenant by default — one binary serves many blogs. It is purpose-built for writers who want a calm, server-rendered, single-binary publication, not a CMS to continuously administer.
Can I run multiple blogs from one Inkwell install?
Yes — multi-tenancy is the default, not a paid extension. Each tenant gets its own hostname, Layout, Preset, author roster, and isolated database schema, all served by the same binary and the same database server. There is no per-tenant fee and no second deploy required.
Do you offer paid help — installation, support, or custom features?
Yes. Maruti Software Solutions, the team behind Inkwell, offers four optional paid services: a turnkey installation from $499, a monthly support retainer from $299, custom feature development at $145 per hour, and bespoke Studio themes from $2,400. The platform itself remains free and MIT-licensed. Visit the Services page at useinkwell.app/services to send a brief.
Is Inkwell GDPR compliant?
Yes. Because Inkwell is entirely self-hosted, all data — posts, subscriber lists, author accounts, and any analytics — stays exclusively on your server. Inkwell makes no outbound connections to third-party services, sends no telemetry, and requires no cloud account or external API. You control the database, the backups, and the data retention policy. This architecture makes Inkwell inherently compatible with GDPR, CCPA, and other data sovereignty regulations — you are the sole data controller.
Can I publish content in languages other than English?
Yes. Inkwell renders whatever content your authors write. Post titles, body text, tags, and author bios support any Unicode language — Arabic, Japanese, German, French, Portuguese, Hindi, and more. The Editorial Desk interface itself is in English, but there is no restriction on the language of the content you publish. Full right-to-left (RTL) layout support is on the roadmap for v1.0.
Is Inkwell suitable for enterprise or multi-author teams?
Yes. Inkwell is multi-tenant by design — one installation can host multiple independent publications, each with its own domain, author roster, Layout, and Preset. Per-author role management, contributor bylines in Magazine layout, and isolated database schemas per tenant make it well-suited for media teams, agencies, and enterprise publishing operations. Optional paid support retainers and custom feature development are available from Maruti Software Solutions for teams that need SLA-backed assistance.
What are the minimum server requirements to run Inkwell?
Inkwell requires .NET 8 or later, and either PostgreSQL 14+ (recommended for production) or SQLite (for development and low-traffic sites). A minimum of 512 MB RAM and 1 vCPU is sufficient for a single-tenant blog with moderate traffic. Multi-tenant deployments serving high traffic benefit from 2 GB RAM and a dedicated PostgreSQL instance. Inkwell runs on Linux (recommended), Windows Server, and macOS, and ships a Dockerfile for containerised deployments.
The Inkwell Letter

Quiet dispatches from the workshop.

One letter a month. Release notes, essays on the craft of publishing, and the occasional theme. Unsubscribe whenever.

No tracking pixels. No drip campaigns. Plain text, sent from a person.