Seq on Docker - Developer Preview 1!

Today we're announcing the first developer preview of datalust/seq, our official Linux-based Docker image for the Seq log server.

From Seq 0.1, we've had a relentless focus on building the lowest-friction structured log centralization and search experience available for .NET and Windows Server.

A lot has changed in those nearly four-and-a-half years, especially in the .NET world, which has moved from a monolithic, Windows-only framework, to the light, modern, cross-platform .NET Core that feels just as productive on Linux and macOS as it does on Windows.

Like ourselves here at Datalust, many of our customers now operate environments with a mix of Windows, macOS and Linux machines on the desktop and server. We want Seq to provide the same amazing low-friction experience in all of these cases: develop on any platform, host on any platform.

We're not taking this lightly - work on a cross-platform Seq started more than a year ago, with some major architectural changes made to ensure all of our supported platforms are first-class. We're not out to create any "compatibilty layers" or other concessions that would make Windows, macOS or Linux a second-class platform. On Windows you'll still get the native features that we've always provided, and on macOS or Linux we're aiming for that same level of polish.

This first developer preview is a non-production build, specifically targeting Linux and Docker. While there's more to the story, Docker is the fastest way for us to make a preview available and start receiving feedback, before we ship other platforms and packaging options in later previews.

Getting started

To run Seq on localhost:5341 with ephemeral storage:

docker run -it -p 5341:80 -e ACCEPT_EULA=Y datalust/seq

This will host the UI and log ingestion on http://localhost:5341. The license is the same as the click-through End-User License Agreement shipped with our Windows installers - passing ACCEPT_EULA=Y indicates you've accepted this.

Logs can be sent using Serilog, NLog, Microsoft.Extensions.Logging stand-alone and any of the many other logging libraries with Seq targets.

The new cross-platform command-line client is a quick way to test your installation out:

By default, the running container will store logs on its local disk, which won't be persisted across container restarts. If you want to keep logs around, you'll need to mount a local folder or volume on your Docker host to the /data mount point in the container:

docker volume create seq
docker run \
  -it \
  -p 5341:80 \
  -e ACCEPT_EULA=Y \
  --mount source=seq,target=/data \
  datalust/seq

Things to know

The datalust/seq image is stable enough to use for day-to-day local development. We're labeling this release as "non-production, non-upgradable" for a few reasons:

  • It's very likely that the image's configuration and parameters will change as we add functionality and optimize how the image integrates into different orchestration engines,
  • There may be backwards-incompatible storage format changes in the future previews, and
  • We don't expect the current image will work well with high log volumes.

We'll make sure that future preview releases come with enough information to help you either cleanly migrate, or start fresh.

Coming up...

Seq 5.0 is a substantial release that will take shape across several more previews in the coming months. We can't wait for you to try today's early build out and let us know your thoughts.

In the next few weeks on this blog, we'll share some of the nitty-gritty details of our cross-platform journey so far.

To say we're excited about cross-platform Seq, and Seq on Docker, would be a vast understatement. We're deeply proud of the rich, integrated, and streamlined product we've built for Windows, and to bring that to new platforms is a huge milestone, ensuring we can continue to serve our customers wherever their own development journeys take them.

Happy logging!