This setup provides a monolithic ThingsBoard CE 3.4.3 development environment with PostgreSQL, Cassandra, Redis, pgAdmin (Postgres GUI), RedisInsight (Redis GUI), and CassWeb (Cassandra GUI).
Run this step once to create the ThingsBoard schema in PostgreSQL and Cassandra:
docker compose -f docker-compose.yml -f docker-compose-init.yml up thingsboard-initOnce initialization completes successfully, you can stop the init container.
Run all services (ThingsBoard, Postgres, Cassandra, Redis, pgAdmin, RedisInsight, CassWeb):
docker compose up -dTo view logs from the ThingsBoard service:
docker compose logs tb-node-
ThingsBoard GUI β http://localhost:8080
- Default login:
tenant@thingsboard.org/tenantsysadmin@thingsboard.org/sysadmin
- Default login:
-
pgAdmin (PostgreSQL) β http://localhost:5050
- Login:
admin@admin.com/admin - Add a new connection:
- Host:
postgres - Port:
5432 - User:
postgres - Password:
postgres
- Host:
- Login:
-
RedisInsight (Redis) β http://localhost:5540
- Add a new connection:
- Host:
redis - Port:
6379
- Host:
- Add a new connection:
-
CassWeb (Cassandra GUI) β http://localhost:8081
- Default configuration connects to
cassandra:9042inside Docker. - Lets you browse keyspaces, tables, and run CQL queries.
- Default configuration connects to
You can also verify Cassandra manually with CQLSH.
docker compose exec -it cassandra cqlshIf successful, you should see something like:
Connected to Thingsboard Cluster at 127.0.0.1:9042
[cqlsh 6.1.0 | Cassandra 4.1.3 | CQL spec 3.4.6 | Native protocol v5]
describe keyspaces;Example output:
system system_schema system_auth thingsboard ...
Confirm that the thingsboard keyspace exists.
use thingsboard;describe tables;Example output:
ts_kv_cf ts_kv_partitions_cf
select * from ts_kv_cf limit 10;Example output:
entity_type | entity_id | key | partition | ts | bool_v | dbl_v | json_v | long_v | str_v
-------------+-----------+-----+-----------+----+--------+-------+--------+--------+-------
DEVICE | ... | ... | ... | .. | null | null | null | 8 | null
To stop all containers:
docker compose downTo stop and remove volumes (clear databases):
docker compose down -v