A complete setup is built from multiple parts: device software, communication layer, cloud backend, applications, and deployment.
If you want to use SUPLA (not work on its development):
- You can use SUPLA with public cloud services (no self-hosting required)
- You can also run your own instance using self-hosting
For typical usage, start with:
If you are a software developer or a power user, continue below.
SUPLA is divided into layers with clear responsibilities:
- device software
- core (server, protocol, communication)
- cloud (user interface, configuration, API)
- mobile applications
- deployment and infrastructure
These layers are developed independently. This is a deliberate design choice.
In simplified form:
device → core (server) → cloud → mobile application
- Devices run SUPLA-compatible software
- Core components handle device connections, protocol, and data exchange
- Cloud provides user interface, configuration, accounts, and API access
- Applications connect to the system through server/core and cloud interfaces
This separation is key to understanding the system.
→ https://github.com/supla/supla-docker
Infrastructure and deployment setup.
→ https://github.com/supla/supla-device
Device-side software and SDK.
→ https://github.com/supla/supla-cloud
User-facing cloud interface, configuration, and API.
→ https://github.com/supla/supla-core
Central system component responsible for device connections, communication, and core system logic.
→ https://github.com/supla/supla-android
→ https://github.com/supla/supla-ios
User applications.
SUPLA is not:
- a single deployable system from one repository
- a closed ecosystem tied to one manufacturer
- a monolithic codebase combining all layers
Understanding this avoids most confusion when working with the platform.
Choose the layer you want to work on:
- Devices → https://github.com/supla/supla-device
- Core system (server, communication, logic) → https://github.com/supla/supla-core
- Cloud (UI, configuration, API) → https://github.com/supla/supla-cloud
- Mobile applications → https://github.com/supla/supla-android / https://github.com/supla/supla-ios
- Deployment → https://github.com/supla/supla-docker
Each repository defines its own scope and contribution rules.
Some repositories are no longer part of the current development path.
If something looks outdated, archived, or inconsistent with the structure above, treat it as historical.