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.
Use the official docker image: ghcr.io/nbigot/ministream:latest
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
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
$ git clone https://github.com/nbigot/ministream.git
$ cd ministream
$ docker build -t nbigot/ministream .
$ docker run --name ministream -it -p 8080:8080 nbigot/ministream
$ git clone https://github.com/nbigot/ministream.git
$ cd ministream
$ go build cmd/ministream/ministream.go
Edit the file config-templates/docker/config/config.yaml
Pay attention to the directory paths in the config file.
$ ministream -config config-templates/docker/config/config.yaml
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
If you want to contribute to Ministream, be sure to review the code of conduct.
This software is licensed under the MIT.