Sunday, November 1, 2026
Home Self-Hosting & Ops Running Inkwell on IIS or Docker

Running Inkwell on IIS or Docker

Demo Admin , Site owner
• • 1 min read • 268 views
Last verified: October 29, 2026 Next review: April 27, 2027
Running Inkwell on IIS or Docker

Inkwell runs as one ASP.NET Core application against one SQL Server database. On Windows, publish and host it in IIS with write access to App_Data and uploads; on any platform, the included Docker Compose file starts SQL Server, applies the schema, runs the app and puts Caddy in front for TLS.

On this page
  1. IIS
  2. Docker
  3. Either way

Inkwell is one ASP.NET Core application and one SQL Server database. Run it on IIS on Windows, as a systemd service on Linux, or with the included Docker Compose file that brings up the app, SQL Server and Caddy for TLS.

IIS

Publish with dotnet publish -c Release, point an IIS site at the folder with the ASP.NET Core hosting bundle installed, and give the app pool identity write access to App_Data and wwwroot/uploads. Set the connection string and a data-protection key path outside the site root in appsettings.json. The first request runs the schema migration and opens the setup wizard.

Docker

docker compose up -d with a filled-in .env: a SQL Server container, a one-shot container that applies the schema, the app, and Caddy answering on 80 and 443 with an automatic certificate for your domain. Only Caddy is published to the host, which is why forwarded headers are trusted in that configuration and not otherwise.

Either way

  • No build step for themes; layouts and presets are selected in the Desk.
  • No external scheduler; the job runner is inside the app.
  • No CDN; every asset, including fonts, is served from the site.
  • Startup warnings in the Desk tell you about a missing key ring, an unset mail server, or an index still to build.

Next: backups, then analytics.

Frequently Asked Questions

No. Caches are in memory per instance and background work runs inside the app. One server is the designed deployment.
Yes. The schema script and migrations run on Azure SQL; use a connection string with a SQL login.
wwwroot/uploads under the site root. Back it up with the database; the backup job includes it.
Share:

Stay in the loop

Get new articles from Blog in your inbox. No spam, unsubscribe any time.

We'll send a confirmation email. No spam ever.

Comments (0)

Leave a Reply