Astarte is an Open Source IoT platform focused on Data management and processing written in Elixir. It is a turnkey solution which packs in everything you need for connecting a device fleet to a set of remote applications and process data as it flows through a set of built-in features.
It performs data modeling, automated data reduction, real-time events, and provides you with any feature you might expect in a modern IoT platform.
Astarte builds on top of amazing Open Source projects such as RabbitMQ and Cassandra/ScyllaDB.
- Astarte Documentation - The main resource to learn about Astarte.
- astartectl - A Command Line tool to manage your Astarte cluster(s).
- Astarte Kubernetes Operator - The preferred and supported way to run Astarte - in Production, and pretty much anywhere else.
- Device SDKs - Connect your device to Astarte in a few lines of code. Available for Python, Qt5, ESP32, Elixir and counting.
This is the master branch, which is not guaranteed to always be in a usable state.
For production purposes we recommend using the latest stable release (currently v1.2), this branch should be used only for v1.3 development activities.
Can't be easier. Pick your favorite machine with at least 4GB of free RAM, make sure it has Docker, and simply:
$ git clone https://github.com/astarte-platform/astarte.git && cd astarte
$ docker run -v $(pwd)/compose:/compose astarte/docker-compose-initializer:snapshot
$ docker compose pull
$ docker compose up -d
Make sure to use the latest stable release if you want a flawless experience.
You should be up and running in a matter of minutes. If you want a more thorough explanation and find out how to access your new Astarte cluster and what you can do with it, follow our "Astarte in 5 minutes" tutorial to get some fake or real devices to stream and process data while your tea gets ready.
Whoa, not so fast. Putting together an Astarte instance which can handle your data might be tricky, and requires some knowledge about the platform to make sure it won't break.
So, if you're serious about getting Astarte in your production environment, you might want to learn more about it first. Start by having a look at its architecture and finding out how it works. Once you feel confident, head over to the Administration Manual.
Astarte is designed from the ground up to be run in containers, with Kubernetes as a first-class citizen when it comes to deployment. Astarte's images can be found at Docker Hub, with every Astarte service coming with its own image.
With the help of our Kubernetes
Operator and
astartectl
, you can deploy your Astarte instance
to your favorite cloud provider in a matter of minutes.
That's awesome! Astarte is quite young as an Open Source project, so we're still setting up bits and pieces to make contributions easier and more effective, such as a shared roadmap, a proper contributor guide. For the time being, you can head over to the repository you want to contribute to and set up a Pull Request. We're using DCO for our contributions, so you'll need to sign off all commit messages before submitting a Pull Request.
You can also join us on #astarte slack channel on Elixir Slack and on #astarte IRC channel on freenode.
We accept all kind of quality contributions, as long as they adhere with the project goals and philosophy, and have some tests.
Yup, stay tuned :) or get in touch with us.
Glad you asked. Astarte is developed by SECO Mind, who fuels its development thanks to the generosity of many customers running it in production. Besides consultancy, installation, maintenance, long-term support and customizations, SECO Mind also commercializes Astarte Enterprise, an Astarte variant packing in some additional goodies and features.
Get in touch or contact us via email to find out how we can help you in getting Astarte in its best possible shape for your specific needs.
Astarte source code is released under the Apache 2 License.
Check the LICENSE file for more information.