mirror of
https://git.rwth-aachen.de/acs/public/villas/web/
synced 2025-03-16 00:00:03 +01:00
82 lines
2.7 KiB
Markdown
82 lines
2.7 KiB
Markdown
# Production Setup {#web-production}
|
|
|
|
## Setting up VILLASweb for production
|
|
|
|
For development setup instructions see @ref web-development.
|
|
The production setup is based on docker.
|
|
Clone the [frontend](https://git.rwth-aachen.de/acs/public/villas/web) and [backend](https://git.rwth-aachen.de/acs/public/villas/web-backend-go) repositories on your computer and build the Docker images for both:
|
|
|
|
### Frontend
|
|
- `cd VILLASweb`
|
|
- `docker build -t villasweb-frontend .`
|
|
|
|
### Backend
|
|
- `cd ..\VILLASweb-backend-go`
|
|
- `docker build -t villasweb-backend .`
|
|
|
|
### WIP Docker compose and/or Kubernetes
|
|
Run the production docker-compose file:
|
|
- `docker-compose -f docker-compose-production.yml up -d`
|
|
|
|
|
|
## Configure VILLASnode to get data into VILLASweb
|
|
|
|
### Install VILLASnode
|
|
|
|
See: @ref node-installation
|
|
|
|
### Create a VILLASnode demo data source
|
|
|
|
1. Create a new empty configuration file with the following contents and save it as `webdemo.conf`:
|
|
|
|
> WIP this example configuration requires revision!
|
|
```
|
|
nodes = {
|
|
sine = {
|
|
type = "signal"
|
|
|
|
signal = "mixed"
|
|
values = 5
|
|
rate = 25
|
|
frequency = 5
|
|
}
|
|
|
|
web = {
|
|
type = "websocket"
|
|
|
|
destinations = [
|
|
"TODO"
|
|
]
|
|
}
|
|
}
|
|
|
|
paths = (
|
|
{
|
|
in = "sine"
|
|
out = "web"
|
|
}
|
|
)
|
|
```
|
|
|
|
The node `sine` is a software signal generator for 5 signals.
|
|
The node `web` is the websocket interface to stream the data generated by the `sine` node to the browser.
|
|
|
|
> Note: If you do not want to use your local system as the destination for the websocket node,
|
|
>change the option `destinations` of the `web` node to the destination of your production environment, for example `https://my.production.environment/ws/webdemo`.
|
|
|
|
### Start the VILLASnode gateway
|
|
|
|
Run the following command on your system:
|
|
|
|
```bash
|
|
villas node webdemo.conf
|
|
```
|
|
> Note: Change the path to the configuration file accordingly. The `villas` command will only work if VILLASnode is installed on your system.
|
|
|
|
### Visualize real-time data in VILLASweb Dashboards
|
|
1. Use the VILLASweb frontend to create a new infrastructure component for the VILLASnode gateway from above (Admin user required).
|
|
2. Set the `websocketurl` parameter of the component to the target you used as the `web.destinations` parameter in the configuration from above.
|
|
3. Create a new scenario in VILLASweb and within that scenario create a new component configuration that uses the infrastructure component you created under 2.
|
|
4. WIP: Use the signal auto-configure function to retrieve the signal configuration of the VILLASnode automatically.
|
|
5. Create a new dashboard with widgets of your choice and link these widgets to the signals received from the infrastructure component.
|
|
6. Enjoy what you see.
|