Skip to content

nbigot/ministream

Repository files navigation

Ministream

Go Report Card license

Ministream

Overview

Ministream is an open-source real-time data stream service. Ministream is well suited for event driven architectures.

Ministream is simple and straightforward, it runs on a single server and has no dependencies over third parties. Events records are pushed and pulled by a simple HTTP request. It it served by it's own HTTP(s) server and stores data on json files. Ministream can easily fit in a standalone docker container. Ministream also provides a complete web api to manage the server.

Quick install

Install the docker image

Use the official docker image: ghcr.io/nbigot/ministream:latest

Packages and versions

Install from the command line:

$ docker pull ghcr.io/nbigot/ministream:latest
$ docker run --name ministream -it -p 8080:8080 ghcr.io/nbigot/ministream:latest

Docker quick tips

The docker image ghcr.io/nbigot/ministream:latest is a multi-arch image that contains images for:

  • linux amd64 v2
  • linux amd64 v3
  • linux arm64
  • linux arm v7
$ docker manifest inspect ghcr.io/nbigot/ministream:latest

Install by building your own docker image

Download source code

$ git clone https://github.com/nbigot/ministream.git

Build a docker image

$ cd ministream
$ docker build -t nbigot/ministream .

Start a docker container

$ docker run --name ministream -it -p 8080:8080 nbigot/ministream

Install by compiling source code

Download source code

$ git clone https://github.com/nbigot/ministream.git

Compile

$ cd ministream
$ go build cmd/ministream/ministream.go

Configure

Edit the file config-templates/docker/config/config.yaml

Pay attention to the directory paths in the config file.

Run ministream

$ ministream -config config-templates/docker/config/config.yaml

Ministream quick tips

Let's assume Ministream is running and listening on the tcp port 8080.

Run simple commands:

$ curl http://localhost:8080
Welcome to ministream!

$ curl http://localhost:8080/api/v1/utils/ping
ok

$ curl http://localhost:8080/livez
ok

$ curl http://localhost:8080/readyz
ok

Contribution guidelines

If you want to contribute to Ministream, be sure to review the code of conduct.

License

This software is licensed under the MIT.