Kauppa is an open source set of microservices for creating and managing your own store-front. Comparable in features to Magento, Shopify, and WooCommerce, Kauppa builds on the similar concepts and pushes further with modern, scalable architecture, and extensibility.
To start straight away, you can get the official Docker image:
docker run -itd --name=kauppa -p 8090:8090 naamio/kauppa:latest
This will run a single, monolithic build of Kauppa, with its API accessible from port 8090. All of the services are bundled in to the single image.
<script src="assets/lib/ostaa/ostaa.js"></script> <script src="assets/lib/myyda/myyda.js"></script>
You can go a long way with the single monolithic build, but it's not how we intended it to be used. For extra power, you should consider reading the docs on how to deploy a service cluster.
For autoscaling, dynamic security, and deep learning-based analytics, consider trying out our managed cloud provisioning, which enables all of these features, and is fully migratable, so you won't be stuck with the managed service if you decide to bring Kauppa in-house.
With a growing number of organizations using Kauppa, we're currently in the process of working closely with the community to add new features and improvements in regular updates. Kauppa has been built to work naturally with Naamio to provide store-front extensions to Naamio web applications, but it can be used with any application platform. You can read more in the official docs.
We use Swift and Rust internally, and we're already looking at Go and Python as priority options.
We experimented with a few approaches to security. Originally Kauppa was based on a monolithic marketplace service for coffee, written in Java, and then in Go. It had a rather complex, albeit powerful single sign-on service supporting it. However, as we worked with more and more partners in the community who needed control of their own data, and access to the code, we moved much of the system into two separate projects: Arusha, and Kauppa.
Kauppa is intended to be decentralized and load balanced on a cluster. Arusha is the single-sign on we use to manage authentication and role-based access. You can use whatever you want. We developed Kauppa to have near-zero understanding of users or roles, to keep it agnostic, unopinionated, and flexible enough to work anywhere.
This means it's inherently insecure in so far as anyone can access and change data in a default instance of Kauppa, and so security should be managed elsewhere. For us, it's managed with Kubernetes on a cluster, with Arusha, keeping it entirely open source. Other organizations may want to use their existing SSO infrastructure and RBAC solutions. Kauppa supports OAuth2 and OpenID Connect to ensure flexibility, but we don't push a specific solution onto the community.
If you want security, but want to keep life simple, you can choose our managed service instead, which includes security-as-a-service, and enables you to retain ownership of your Kauppa instance.
Kauppa matches existing Naamio products by using the MIT License, with specific clauses to protect the Naamio community and cloud infrastructure provisioning.
- Building: For more detail about building Kauppa, see
- Design: For the overall design, see
- Services: For documentation of individual services, see