Skip to content
The stream-oriented database optimised for event sourcing
Branch: master
Clone or download
jen20 Merge pull request #1888 from EventStore/fix-empty-content-type
Do not send Content-Type header when body is empty
Latest commit db907d5 Apr 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci Add CI Readme Dec 6, 2018
etc Move DebugType property to Directory.Build.props Nov 26, 2018
scripts Removed unused binaries/scripts Feb 12, 2019
src Merge pull request #1888 from EventStore/fix-empty-content-type Apr 15, 2019
tools Removed unused binaries/scripts Feb 12, 2019
.gitmodules Add EventStore.UI as submodule Aug 13, 2018
Directory.Build.props build: Pull dependencies from NuGet instead of MyGet for now Sep 18, 2018 Fix license copy-paste mistake Nov 1, 2018 Add instructions to build client/embedded client in README Dec 6, 2018
build.ps1 Install bower and call `bower install` Jan 8, 2019 Install bower and call `bower install` Jan 8, 2019
ci.yml Increase build timeout for Windows to 30 minutes Feb 15, 2019

Event Store

The open-source, functional database with Complex Event Processing in JavaScript.

This is the repository for the open source version of Event Store, which includes the clustering implementation for high availability.


Information on commercial support and options such as LDAP authentication can be found on the Event Store website at

CI Status

Build Status


Documentation for Event Store can be found here


We have a fairly active google groups list. If you prefer slack, there is also an #eventstore channel here.

Release Packages

The latest release packages are hosted in the downloads section on the Event Store Website

We also host native packages for Linux on Package Cloud and Windows packages can be installed via Chocolatey (4.0.0 onwards only).

Building Event Store

Event Store is written in a mixture of C#, C++ and JavaScript. It can run either on Mono or .NET, however because it contains platform specific code (including hosting the V8 JavaScript engine), it must be built for the platform on which you intend to run it.



Required Environment Variables

export FrameworkPathOverride=/usr/lib/mono/4.7.1-api



Mac OS X


Required Environment Variables

export FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/4.7.1-api/

Build EventStore

Once you've installed the prerequisites for your system, you can launch a Release build of EventStore as follows:

dotnet build -c Release src/EventStore.sln

To start a single node, you can then run:

bin/Release/EventStore.ClusterNode/net471/EventStore.ClusterNode.exe --db ../db --log ../logs

You'll need to launch the node with mono on Linux or Mac OS X.

Note: The build system has changed after version 4.1.1-hotfix1, therefore the above instructions will not work for old releases.

Running the tests

You can launch the tests as follows:

EventStore Core tests

dotnet test src/EventStore.Core.Tests/EventStore.Core.Tests.csproj -- RunConfiguration.TargetPlatform=x64

EventStore Projections tests

dotnet test src/EventStore.Projections.Core.Tests/EventStore.Projections.Core.Tests.csproj -- RunConfiguration.TargetPlatform=x64

Building the EventStore Client / Embedded Client

You can build the client / embedded client with the steps below. This will generate a nuget package file (.nupkg) that you can include in your project.


dotnet pack -c Release src/EventStore.ClientAPI/EventStore.ClientAPI.csproj /p:Version=5.0.0

Embedded Client

dotnet pack -c Release src/EventStore.ClientAPI.Embedded/EventStore.ClientAPI.Embedded.csproj /p:Version=5.0.0

Building the EventStore web UI

The web UI is prebuilt and the files are located under src/EventStore.ClusterNode.Web/clusternode-web. If you want to build the web UI, please consult this repository which is also a git submodule of the current repository located under src/EventStore.UI.

Building the Projections Library

The list of precompiled projections libraries can be found in src/libs/x64. If you still want to build the projections library please follow the links below.


Development is done on the master branch. We attempt to do our best to ensure that the history remains clean and to do so, we generally ask contributors to squash their commits into a set or single logical commit.

If you want to switch to a particular release, you can check out the tag for this particular version. For example:
git checkout oss-v4.1.0

You can’t perform that action at this time.