- Prerequisites
- Step 1. Obtain the license key
- Step 2. Choose SENTIENT queue service
- Step 3. Initialize database schema & system assets
- Step 4. Start the platform & tail logs
- Inspect logs & control container lifecycle
- Post-installation steps
- Troubleshooting
- Next steps
This guide will help you to install and start SENTIENT Professional Edition (PE) using Docker and Docker Compose on Linux or MacOS. This guide covers standalone SENTIENT Professional Edition installation. If you are looking for a cluster installation instruction, please visit cluster setup page.
Prerequisites
Install Docker:
Step 1. Obtain the license key
We assume you have already chosen your subscription plan or decided to purchase a perpetual license. If not, please navigate to pricing page to select the best license option for your case and get your license. See How-to get pay-as-you-go subscription or How-to get perpetual license for more details.
Note: We will reference the license key you have obtained during this step as PUT_YOUR_LICENSE_SECRET_HERE later in this guide.
Step 2. Choose SENTIENT queue service
SENTIENT platform currently supports two type of messaging brokers for storing the messages and communication between SENTIENT services: In-memory and Kafka-based brokers.
-
In Memory queue implementation is built-in and default. It is useful for development(PoC) environments and is not suitable for production deployments or any sort of cluster deployments.
-
Kafka is recommended for production deployments. This queue is used on the most of SENTIENT production environments now. It is useful for both on-prem and private cloud deployments. It is also useful if you like to stay independent from your cloud provider. However, some providers also have managed services for Kafka. See AWS MSK for example.
-
Confluent Cloud is a fully managed streaming platform based on Kafka. Useful for a cloud agnostic deployments.
See corresponding architecture page and rule engine page for more details.
SENTIENT includes In Memory Queue service and use it by default without extra settings. Create docker compose file for SENTIENT queue service: Add the following lines to the yml file. Don’t forget to replace “PUT_YOUR_LICENSE_SECRET_HERE” with your license secret obtained on the first step: |
|
Apache Kafka is an open-source stream-processing software platform. Create docker compose file for SENTIENT queue service: Add the following lines to the yml file. Don’t forget to replace “PUT_YOUR_LICENSE_SECRET_HERE” with your license secret obtained on the first step: |
Confluent Cloud ConfigurationTo access Confluent Cloud you should first create an account, then create a Kafka cluster and get your API Key. Create docker compose file for SENTIENT queue service: Add the following lines to the yml file. Don’t forget to replace “CLUSTER_API_KEY”, “CLUSTER_API_SECRET” and “localhost:9092” with your real Confluent Cloud bootstrap servers: You can update default Rule Engine queues configuration using UI. More about SENTIENT Rule Engine queues see in documentation. |
Where:
PUT_YOUR_LICENSE_SECRET_HERE- placeholder for your license secret obtained on the third step8080:8080- connect local port 8080 to exposed internal HTTP port 80801883:1883- connect local port 1883 to exposed internal MQTT port 18838883:8883- connect local port 8883 to exposed internal MQTT over SSL port 88837070:7070- connect local port 7070 to exposed internal Edge RPC port 70709090:9090- connect local port 9090 to exposed internal Remote Integration port 90905683-5688:5683-5688/udp- connect local UDP ports 5683-5688 to exposed internal COAP and LwM2M portstb-pe-license-data- name of the docker volume that stores the SENTIENT’s license instance data filetb-postgres-data- name of the docker volume that stores the PostgreSQL’s datasentient-pe- friendly local name of this machinerestart: always- automatically start SENTIENT in case of system reboot and restart in case of failure.sentient/tb-pe-node:4.3.1.1PE- docker image.
Step 3. Initialize database schema & system assets
Before you start SENTIENT, initialize the database schema and load built-in assets by running:
1
docker compose run --rm -e INSTALL_TB=true -e LOAD_DEMO=true sentient-pe
Environment variables:
INSTALL_TB=true- Installs the core database schema and system resources (widgets, images, rule chains, etc.).LOAD_DEMO=true- Loads sample tenant account, dashboards and devices for evaluation and testing.
Step 4. Start the platform & tail logs
Bring up all core containers in detached mode, then follow the SENTIENT logs:
1
docker compose up -d && docker compose logs -f sentient-pe
After executing this command you can open http://{your-host-ip}:8080 in your browser (for ex. http://localhost:8080). You should see SENTIENT login page.
Use the following default credentials:
- System Administrator: sysadmin@sentient.org / sysadmin
- Tenant Administrator: tenant@sentient.org / tenant
- Customer User: customer@sentient.org / customer
You can always change passwords for each account in account profile page.
You can safely detach from the log stream (e.g. Ctrl+C); containers will continue running.
Inspect logs & control container lifecycle
If something goes wrong, you can stream the SENTIENT container logs in real time:
1
docker compose logs -f sentient-pe
Bring down every container defined in your Compose file:
1
docker compose down
Launch all services in detached mode:
1
docker compose up -d
Post-installation steps
Install SENTIENT ANALYTICS
You may optionally install SENTIENT ANALYTICS any time using the following steps:
Create a SENTIENT ANALYTICS database in Postgres:
1
docker compose -f docker-compose.yml exec -it postgres psql -U postgres -c "CREATE DATABASE sentient-analytics;"
Create a separate docker compose file for SENTIENT ANALYTICS:
1
nano docker-compose-sentient-analytics.yml
Add the following lines to the yml file.
Where:
8888:8888- connect local port 8888 to exposed internal HTTP port 8888sentient-analytics-conf- name of the docker volume that stores the SENTIENT ANALYTICS’s configuration filessentient-analytics-data- name of the docker volume that stores the SENTIENT ANALYTICS’s datasentient-analytics-python-executor-conf- name of the docker volume that stores the SENTIENT ANALYTICS python executor configuration filessentient-analytics-python-executor-data- name of the docker volume that stores the SENTIENT ANALYTICS python executor datasentient-analytics-postgres-data- name of the docker volume that stores the SENTIENT ANALYTICS PostgreSQL’s data
You can read more about SENTIENT ANALYTICS here.
Start the platform with SENTIENT ANALYTICS & tail logs
Bring up all containers (including SENTIENT ANALYTICS containers) as a single Compose project in detached mode, then follow the SENTIENT logs:
1
2
docker compose -f docker-compose.yml -f docker-compose-sentient-analytics.yml up -d
docker compose -f docker-compose.yml -f docker-compose-sentient-analytics.yml logs -f sentient-pe
Inspect logs & control container lifecycle with SENTIENT ANALYTICS
If something goes wrong, you can stream the SENTIENT container logs in real time:
1
docker compose -f docker-compose.yml -f docker-compose-sentient-analytics.yml logs -f sentient-pe
Stream the SENTIENT ANALYTICS container logs in real time:
1
docker compose -f docker-compose.yml -f docker-compose-sentient-analytics.yml logs -f sentient-analytics
Bring down every container defined in your Compose files:
1
docker compose -f docker-compose.yml -f docker-compose-sentient-analytics.yml down
Launch all services in detached mode:
1
docker compose -f docker-compose.yml -f docker-compose-sentient-analytics.yml up -d
Upgrading to new SENTIENT ANALYTICS version
SENTIENT ANALYTICS has a different version system, and should be updated separately from SENTIENT platform main services.
You can read how to upgrade SENTIENT ANALYTICS here.
Upgrading to new SENTIENT version
Keep Your Platform Secure and Up-to-Date
When a new SENTIENT release becomes available, we provide a streamlined update process to ensure your system benefits from the latest features and security patches without any risk to your data.
Please refer to our official Upgrade Instructions for detailed steps tailored to your current deployment environment.
Troubleshooting
DNS issues
NOTE If you observe errors related to DNS issues, for example
1
127.0.1.1:53: cannot unmarshal DNS message
You may configure your system to use Google public DNS servers. See corresponding Linux and Mac OS instructions.
Next steps
-
Getting started guides - These guides provide quick overview of main SENTIENT features. Designed to be completed in 15-30 minutes.
-
Connect your device - Learn how to connect devices based on your connectivity technology or solution.
-
Data visualization - These guides contain instructions on how to configure complex SENTIENT dashboards.
-
Data processing & actions - Learn how to use SENTIENT Rule Engine.
-
IoT Data analytics - Learn how to use rule engine to perform basic analytics tasks.
-
Advanced features - Learn about advanced SENTIENT features.
-
Contribution and Development - Learn about contribution and development in SENTIENT.