Revue is a distributed real-time system that allows users to monitor an environment through devices capable of capturing environment data (Temperature, Humidity, Pressure) and video streams.
Revue can interact with Web of Things (WoT) devices that adhere to the APIs provided by the system (documented in the docs/api directory). An example of a WoT device that adheres to the Revue APIs is provided in the revue-sample-thing repository.
- Clone the repository including the submodules:
git clone --recurse-submodules [email protected]:revue-org/revue.git
- Modify the
.env
file to fit your needs, e.g., the ports and the credentials to be used (the default ones should be fine)
N.B. The following commands need to be run in the root directory of the project
You can start the whole system by running
./deploy.sh --docker
and stop it by running
./undeploy.sh --docker
This running mode includes the deployment of a (WoT) containerised thing. To see more details about it, check the revue-sample-thing repository.
In a Kubernetes cluster, on your master node, run the following command to deploy the system:
./deploy.sh --k8s
And similarly, to stop the system
./undeploy.sh --k8s
Once the system is up and running, you have to set up your own WoT device (E.g. revue-sample-thing).
- Revue Web Interface: The interface through which you can interact with the
system. The default credentials for the login are
user
anduser
(editable in auth/db/auth-init.js file).- https://frontend.localhost or https://localhost:8080 if running with Docker Compose
- https://revue-frontend if running with Kubernetes
- Reverse Proxy: Traefik dashboard
- https://localhost:8081 if running with Docker Compose
- https://revue-traefik/dashboard/#/ if running with Kubernetes
- Kafka UI: The interface to monitor the Kafka topics, messages and
consumers
- https://localhost:8082 if running with Docker Compose
- https://revue-kafka-ui if running with Kubernetes,
- Prometheus and Grafana: The interfaces to monitor the system
- Prometheus Server dashboard: accessible at https://revue-prometheus
- Grafana dashboard: accessible at https://revue-grafana
- Credentials:
- Username: admin
- Password: Get the password by
running
kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
- Accessing to the dashboard clicking on Dashboards (there are some pre-configured dashboards)
- Credentials:
Note that kubernetes IPs depend on your cluster's network-specific configuration. Edit configuration files in kubernetes/specifications/metallb/ folder to adhere to your case.
Go to the revue-sample-thing repository and follow the instructions in the README to set up your own WoT device. Note that if you are running the system with Docker Compose, a sample containerised device is already deployed. Once the device is up and running, you can add it to the system through the Revue Web Interface.
- Go to Revue Web Interface and log in
- Go to the Devices section
- Click on the Add Device button
- Fill in the form with the device URI
<container-name>:<exposed-port>
if revue is running with Docker Compose- The already deployed sample device is exposed at
revue-thing:6000
- The already deployed sample device is exposed at
- Test the connection.
- If the connection is successful, it will automatically retrieve the device's capabilities. Eventually, give a description and click Ok to add the device to the system.
- Monitor the device data through the various sections depending on the device capabilities.
- Mattia Matteini (Mala1180)
- Kelvin Olaiya (kelvin-olaiya)
- Alberto Paganelli (paga16-hash)