|
2 tahun lalu | |
---|---|---|
.. | ||
docker | 2 tahun lalu | |
docker-cassandra | 2 tahun lalu | |
docker-postgres | 2 tahun lalu | |
docker-tb | 2 tahun lalu | |
README.md | 2 tahun lalu | |
pom.xml | 2 tahun lalu |
This project provides the build for the ThingsBoard single docker images.
thingsboard/tb
- single instance of ThingsBoard with embedded HSQLDB database.thingsboard/tb-postgres
- single instance of ThingsBoard with PostgreSQL database.thingsboard/tb-cassandra
- single instance of ThingsBoard with Hybrid PostgreSQL (entities) and Cassandra (timeseries) database.Before starting Docker container run following command to create a directory for storing data and change its owner to docker container user. To be able to change user, chown command is used, which requires sudo permissions (command will request password for a sudo access):
$ mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
NOTE: replace directory ~/.mytb-data
with directory you're planning to use on container creation.
In this example thingsboard/tb
image will be used. You can choose any other images with different databases (see above).
Execute the following command to run this docker directly:
$ docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -p 5685:5685/udp -v ~/.mytb-data:/data --name mytb thingsboard/tb
Where:
docker run
- run this container-it
- attach a terminal session with current ThingsBoard process output-p 9090:9090
- connect local port 9090 to exposed internal HTTP port 9090-p 1883:1883
- connect local port 1883 to exposed internal MQTT port 1883-p 5683:5683
- connect local port 5683 to exposed internal COAP port 5683-p 5685:5685
- connect local port 5685 to exposed internal COAP port 5685 (lwm2m)-v ~/.mytb-data:/data
- mounts the host's dir ~/.mytb-data
to ThingsBoard DataBase data directory--name mytb
- friendly local name of this machinethingsboard/tb
- docker image, can be also thingsboard/tb-postgres
or thingsboard/tb-cassandra
NOTE: Windows users should use docker managed volume instead of host's dir. Create docker volume (for ex.
mytb-data
) before executingdocker run
command:
> $ docker volume create mytb-data > ``` > After you can execute docker run command using `mytb-data` volume instead of `~/.mytb-data`. > In order to get access to necessary resources from external IP/Host on **Windows** machine, please execute the following commands: > ``` > $ VBoxManage controlvm "default" natpf1 "tcp-port9090,tcp,,9090,,9090" > $ VBoxManage controlvm "default" natpf1 "tcp-port1883,tcp,,1883,,1883" > $ VBoxManage controlvm "default" natpf1 "tcp-port5683,tcp,,5683,,5683" > $ VBoxManage controlvm "default" natpf1 "tcp-port5683,tcp,,5685,,5685" > ``` After executing `docker run` command you can open `http://{your-host-ip}:9090` in you browser (for ex. `http://localhost:9090`). You should see ThingsBoard login page. Use the following default credentials: - **System Administrator**: sysadmin@thingsboard.org / sysadmin - **Tenant Administrator**: tenant@thingsboard.org / tenant - **Customer User**: customer@thingsboard.org / customer You can always change passwords for each account in account profile page. You can detach from session terminal with `Ctrl-p` `Ctrl-q` - the container will keep running in the background. To reattach to the terminal (to see ThingsBoard logs) run:
$ docker attach mytb
To stop the container:
$ docker stop mytb
To start the container:
$ docker start mytb
## Upgrading In order to update to the latest image, execute the following commands:
$ docker pull thingsboard/tb $ docker stop mytb $ docker run -it -v ~/.mytb-data:/data --rm thingsboard/tb upgrade-tb.sh $ docker start mytb ```
NOTE: if you use different database change image name in all commands from thingsboard/tb
to thingsboard/tb-postgres
or thingsboard/tb-cassandra
correspondingly.
NOTE: replace host's directory ~/.mytb-data
with directory used during container creation.