Event Store installation on Various Platforms

Reading Time: 3 minutes

Introduction

Let’s assume you want to install the Event Store for your next project. What should you do? Here we’ll go over all the different ways EventStore can be installed and give some advice on which one may be best for your situation.

Linux

To install the Linux version of Event Store, run the following:

Here, is the URL for the latest Debian packages: https://packagecloud.io/EventStore/EventStore-OSS

Step 1: Install the repository for EventStoreDB

curl -s https://packagecloud.io/install/repositories/EventStore

/EventStore-OSS/script.deb.sh | sudo bash

Step 2: Install the Package

sudo apt-get install eventstore-oss=22.10.0~preview1

You can start the daemon by running:

sudo systemctl start eventstore

Windows

To get started, you need a few things:

  • Windows Server. You can use the latest version of Windows Server (Windows Server 2022) or earlier versions like Windows server 2008 R2 SP1 or below. You also have the option to install Event Store on another machine by running an installer package from GitHub and following their instructions on how to configure it properly with your own credentials.
  • Python 2.7 interpreter installed with pip3 install event-store –upgrade –user (this may require root/administrator privileges).
  • Credentials for Event Store authentication provider in both on-premises and cloud environments (if applicable).

Downloading Binaries:

Step 1: Download the latest binaries of EventStoreDB (i.e. EventStoreDB 22.10.0 LTS)
Step 2: Starting EventStoreDB with the database stored at the path ./{PATH} and the logs in ./{LOGS}. 

EventStore.ClusterNode.exe --db ./{PATH} --log ./{LOGS}

Another easiest way of installing EventStoreDB on windows:

Installing from Chocolatey:

Command to install EventStoreDB:

choco install eventstore-oss

Docker

Before you can start using the Event Store software, you need to install Docker.

Docker is an open-source platform for building and distributing apps. It allows you to run applications in containers: lightweight isolated environments built on top of Linux. These containers can run independently from each other and yet share resources, such as memory or storage space.

To get started with Docker:

  • Install Docker CE (Community Edition) on your computer.
  • Pull the latest EventStoreDB Docker image by following the instructions here:
docker pull eventstore/eventstore:latest
  • Running the container
docker run --name esdb-node -it -p 2113:2113 -p 1113:1113 

      \eventstore/eventstore:latest

Docker Compose

Docker Compose is a tool for defining and running multi-container Docker applications. It uses the same YAML syntax as other tools in the Docker ecosystem, including docker-compose, but it has its own unique features:

The compose file is written in YAML (the Machine Readable Markup Language) instead of JSON or another more common format like JSON. This makes it easier to work with when you’re not familiar with YAML yet and can help you read source code later on if you ever need to.

Here is the complete docker-compose.yaml file for running EventStoreDB.

services:

  eventstore.db:

    image: eventstore/eventstore:release-v5

    environment:

      - TODO

    ports:

      - "1113:1113"

      - "2113:2113"

    volumes:

      - TODO

Finally, Run the EventSToreDB instance:

docker-compose up

Kubernetes

Let’s start with the installation.

Install the kubelet container on your master node. This will pull a version of the container from Docker Hub and install it on your Kubernetes cluster. You can verify that everything is working by running kubelets –version. If you see an output similar to “Kubernetes Engine v1.4.” then you’re all set! The next step is configuration, so let’s create some infrastructure for the Event Store in our Kubernetes cluster using helm charts:

Adding Event Store Charts repository.

helm repo add eventstore https://eventstore.github.io/EventStore.Charts

helm repo update

Installing Event Store chart:

helm install -n eventstore eventstore/eventstore

For setting up EventStoreDB configuration on Kubernetes, visit Artifact Hub.

Conclusion

In conclusion, You can install the Event Store in many different ways, depending on your needs and preferred installation methods such as Linux, Windows (Windows Server) with PowerShell, Docker Compose, or Kubernetes. I hope you enjoyed reading this article and the tips we’ve given you.

If you want to learn more about EventStoreDB, visit the official documentation.

Written by 

Kuldeep is a Software Consultant at Knoldus Software LLP. He has a sound knowledge of various programming languages like C, C++, Java, MySQL, and various frameworks like Apache Kafka and Spring/Springboot. He is passionate about daily and continuous improvement.